Isih koleksi kumpulan selepas menggunakan pertanyaan agregat
P粉558478150
P粉558478150 2024-02-04 10:35:22
0
1
329

Saya menggunakan pengagregatan untuk mempunyai semua pengguna dengan nama yang sama, tetapi setiap kali saya menanyakan API ini, hasil yang dikembalikan tidak diisih walaupun saya menambah medan $sort by 'name'.

const aggregateQuery: any = [
            { $group: { _id: '$name', count: { $sum: 1 }, users: { $push: '$$ROOT' } } },
            { $match: { count: { $gt: 1 } } },
            { $unwind: '$users' },
            { $replaceRoot: { newRoot: '$users' } },
            { $sort: { name: 1 } }
        ];`

        const users = await this.userRepository.getModel().aggregate(aggregateQuery).exec();

Susunan rekod tidak diisih

P粉558478150
P粉558478150

membalas semua(1)
P粉739942405

Anda mesti tidak sensitif terhadap case 进行排序
Katakan anda memerlukan nameage,

Cuba pertanyaan ini:

[ { "$project": { "name": 1, "age" : 1, "insensitive": { "$toLower": "$name" } }},{ $group: { _id: ' $name', count: { $sum: 1 }, users: { $push: '$$ROOT' } } }, { $match: { count: { $gte: 1 } } }, { $unwind: '$用户' }, { $replaceRoot: { newRoot: '$users' } }, { $sort: { insensitive: 1 } } ]

Jika anda mempunyai lebih banyak medan untuk ditambahkan pada output, cuba pertanyaan berikut dan bukannya pertanyaan di atas.

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!