ホームページ  >  に質問  >  本文

集計クエリを使用した後のグループコレクションの並べ替え

すべてのユーザーを同じ名前にするために集計を使用していますが、この API をクエリするたびに、$sort by 'name' フィールドを追加しても、返される結果は並べ替えられません。

リーリー

レコードの順序はソートされていません

P粉558478150P粉558478150258日前327

全員に返信(1)返信します

  • P粉739942405

    P粉7399424052024-02-05 00:05:39

    ケースを区別せずに並べ替える必要があります
    nameage が必要だと仮定すると、

    このクエリを試してください:

    [ { "$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 } } ]

    返事
    0
  • キャンセル返事