File tree 3 files changed +16
-15
lines changed 3 files changed +16
-15
lines changed Original file line number Diff line number Diff line change @@ -57,12 +57,8 @@ const relationshipSort = ({
57
57
return false
58
58
}
59
59
60
- for ( const [ i , segment ] of segments . entries ( ) ) {
61
- if ( versions && i === 0 && segment === 'version' ) {
62
- segments . shift ( )
63
- continue
64
- }
65
-
60
+ for ( let i = 0 ; i < segments . length ; i ++ ) {
61
+ const segment = segments [ i ]
66
62
const field = currentFields . find ( ( each ) => each . name === segment )
67
63
68
64
if ( ! field ) {
@@ -71,6 +67,10 @@ const relationshipSort = ({
71
67
72
68
if ( 'fields' in field ) {
73
69
currentFields = field . flattenedFields
70
+ if ( field . name === 'version' && versions && i === 0 ) {
71
+ segments . shift ( )
72
+ i --
73
+ }
74
74
} else if (
75
75
( field . type === 'relationship' || field . type === 'upload' ) &&
76
76
i !== segments . length - 1
@@ -106,7 +106,7 @@ const relationshipSort = ({
106
106
as : `__${ path } ` ,
107
107
foreignField : '_id' ,
108
108
from : foreignCollection . Model . collection . name ,
109
- localField : relationshipPath ,
109
+ localField : versions ? `version. ${ relationshipPath } ` : relationshipPath ,
110
110
pipeline : [
111
111
{
112
112
$project : {
Original file line number Diff line number Diff line change @@ -151,6 +151,7 @@ export const queryDrafts: QueryDrafts = async function queryDrafts(
151
151
query : versionQuery ,
152
152
session : paginationOptions . options ?. session ?? undefined ,
153
153
sort : paginationOptions . sort as object ,
154
+ sortAggregation,
154
155
useEstimatedCount : paginationOptions . useEstimatedCount ,
155
156
} )
156
157
} else {
Original file line number Diff line number Diff line change @@ -670,28 +670,28 @@ describe('Relationships', () => {
670
670
await payload . delete ( { collection : 'directors' , where : { } } )
671
671
await payload . delete ( { collection : 'movies' , where : { } } )
672
672
673
- const director_1 = await payload . create ( {
673
+ const director_2 = await payload . create ( {
674
674
collection : 'directors' ,
675
- data : { name : 'Dan' , localized : 'Dan' } ,
675
+ data : { name : 'Mr. Dan' , localized : 'Mr. Dan' } ,
676
676
} )
677
677
678
678
await payload . update ( {
679
679
collection : 'directors' ,
680
- id : director_1 . id ,
680
+ id : director_2 . id ,
681
681
locale : 'de' ,
682
- data : { localized : 'Mr. Dan' } ,
682
+ data : { localized : 'Dan' } ,
683
683
} )
684
684
685
- const director_2 = await payload . create ( {
685
+ const director_1 = await payload . create ( {
686
686
collection : 'directors' ,
687
- data : { name : 'Mr. Dan' , localized : 'Mr. Dan' } ,
687
+ data : { name : 'Dan' , localized : 'Dan' } ,
688
688
} )
689
689
690
690
await payload . update ( {
691
691
collection : 'directors' ,
692
- id : director_2 . id ,
692
+ id : director_1 . id ,
693
693
locale : 'de' ,
694
- data : { localized : 'Dan' } ,
694
+ data : { localized : 'Mr. Dan' } ,
695
695
} )
696
696
697
697
const movie_1 = await payload . create ( {
You can’t perform that action at this time.
0 commit comments