我正在尝试按节点和mongodb按字母顺序排序。这是我目前的状况,但不起作用:
$addToSet: {
friends: {
$each: [{
_id: req.body.globalUserId.toString(),
username: req.body.globalUserName,
language: req.body.globalUserLanguage,
profilePicture: req.body.globalUserProfilePicture
}],
$sort: {username: 1}
}
}
以下是一个示例文档:
正如你在friends数组下看到的,它是'r1'然后是'a'秒。因为我希望这个数组按字母顺序排序,所以'a'将首先出现。我该怎么做?非常感谢!
以下是此特定型号的架构:
username: String,
email: String,
password: String,
language: { type: String, default: "English" },
profilePicture: { type: String, default: "/images/talk/blank-profile-picture.png" },
pendingFriends: [this],
friends: [this]
答案 0 :(得分:0)
集合是无序的,出于同样的原因,$sort
不受支持。
$push
将维持订单。
$push: {
friends: {
$each: [{
_id: req.body.globalUserId.toString(),
username: req.body.globalUserName,
language: req.body.globalUserLanguage,
profilePicture: req.body.globalUserProfilePicture
}],
$sort: {username: 1}
}
}