すべてのユーザーを同じ名前にするために集計を使用していますが、この API をクエリするたびに、$sort by 'name' フィールドを追加しても、返される結果は並べ替えられません。
レコードの順序はソートされていません
ケースを区別せずに並べ替える必要があります name と age が必要だと仮定すると、
と
が必要だと仮定すると、
[ { "$project": { "名前": 1, "年齢" : 1, "インセンシティブ": { "$toLower": "$name" } }},{ $group: { _id : ' $name'、カウント: { $sum: 1 }、ユーザー: { $push: '$$ROOT' } } }、{ $match: { count: { $gte: 1 } } }、{ $unwind: '$users' }, { $replaceRoot: { newRoot: '$users' } }, { $sort: { insensitive: 1 } } ]
[ { "$project": { "name": 1, createdAt : 1 }},{ $group: { _id: '$name', count: { $sum: 1 }, users: { $push : '$$ROOT' } } }, { $match: { count: { $gte: 1 } } }, {"$addFields":{"users.insensitive": { "$toLower": "$_id " } ,}}, { $unwind: '$users' }, { $replaceRoot: { newRoot: '$users' } }, { $sort: { insensitive: 1 } } ]
ケースを区別せずに並べ替える必要があります
このクエリを試してください:name
と
ageが必要だと仮定すると、
[ { "$project": { "名前": 1, "年齢" : 1, "インセンシティブ": { "$toLower": "$name" } }},{ $group: { _id : ' $name'、カウント: { $sum: 1 }、ユーザー: { $push: '$$ROOT' } } }、{ $match: { count: { $gte: 1 } } }、{ $unwind: '$users' }, { $replaceRoot: { newRoot: '$users' } }, { $sort: { insensitive: 1 } } ]
出力にさらにフィールドを追加する場合は、上記のクエリの代わりに次のクエリを試してください。[ { "$project": { "name": 1, createdAt : 1 }},{ $group: { _id: '$name', count: { $sum: 1 }, users: { $push : '$$ROOT' } } }, { $match: { count: { $gte: 1 } } }, {"$addFields":{"users.insensitive": { "$toLower": "$_id " } ,}}, { $unwind: '$users' }, { $replaceRoot: { newRoot: '$users' } }, { $sort: { insensitive: 1 } } ]