如何使用 Meteor 按字母顺序对用户进行排序?
How can sort alphabetically of users using Meteor?
我正在使用流星用户帐户包。我想按字母升序对所有用户进行排序。我的Collection结构是这样的
{
"_id" : "6J3jjZB7DMRyPcTxh",
"createdAt" : ISODate("2018-05-28T13:07:03.428Z"),
"services" : {
"password" : {
"bcrypt" : "bW2g1Ceal39uUz0JVZ1JSuT1M9gKfKas.5VZ8ThH2Ga6cPp7SY6zO"
},
"resume" : {
"loginTokens" : []
}
},
"emails" : [
{
"address" : "vishnu@gmail.com",
"verified" : false
}
],
"profile" : {
"username" : "vishnu singh",
"regPhone" : "8088***0297",
"discount" : "66.66",
"isDeleted" : false,
"role" : "user"
}
}
查询是:
responseArray = Meteor.users.find({ 'profile.isDeleted': { $ne: true }, 'profile.role': { $ne: 'admin' } }, { sort: { 'profile.username': 1 }, skip: skip, limit: limit }).fetch();
我的skip是0,limit是25。skip limit第二次改成skip 25,limit 25。如何根据用户名对所有用户进行排序?请帮忙。
问题是区分大小写的。我认为 MongoDB 不支持区分大小写的查找和排序。我使用了聚合,终于得到了解决方案。
responseArray = Meteor.users.aggregate([{
$match: {
'profile.isDeleted': { $ne: true },
'profile.role': { $ne: 'admin' }
}
},
{
"$project": {
profile: 1,
emails: 1,
"insensitive": { "$toLower": "$profile.username" }
}
},
{ "$sort": { "insensitive": 1 } },
{ "$skip": skip },
{ "$limit": limit }
])
我正在使用流星用户帐户包。我想按字母升序对所有用户进行排序。我的Collection结构是这样的
{
"_id" : "6J3jjZB7DMRyPcTxh",
"createdAt" : ISODate("2018-05-28T13:07:03.428Z"),
"services" : {
"password" : {
"bcrypt" : "bW2g1Ceal39uUz0JVZ1JSuT1M9gKfKas.5VZ8ThH2Ga6cPp7SY6zO"
},
"resume" : {
"loginTokens" : []
}
},
"emails" : [
{
"address" : "vishnu@gmail.com",
"verified" : false
}
],
"profile" : {
"username" : "vishnu singh",
"regPhone" : "8088***0297",
"discount" : "66.66",
"isDeleted" : false,
"role" : "user"
}
}
查询是:
responseArray = Meteor.users.find({ 'profile.isDeleted': { $ne: true }, 'profile.role': { $ne: 'admin' } }, { sort: { 'profile.username': 1 }, skip: skip, limit: limit }).fetch();
我的skip是0,limit是25。skip limit第二次改成skip 25,limit 25。如何根据用户名对所有用户进行排序?请帮忙。
问题是区分大小写的。我认为 MongoDB 不支持区分大小写的查找和排序。我使用了聚合,终于得到了解决方案。
responseArray = Meteor.users.aggregate([{
$match: {
'profile.isDeleted': { $ne: true },
'profile.role': { $ne: 'admin' }
}
},
{
"$project": {
profile: 1,
emails: 1,
"insensitive": { "$toLower": "$profile.username" }
}
},
{ "$sort": { "insensitive": 1 } },
{ "$skip": skip },
{ "$limit": limit }
])