NodeJS + MongoDB排序查询

时间:2017-03-07 03:38:36

标签: node.js mongodb

我正在尝试按节点和mongodb按字母顺序排序。这是我目前的状况,但不起作用:

$addToSet: {
    friends: {
        $each: [{
            _id: req.body.globalUserId.toString(),
            username: req.body.globalUserName,
            language: req.body.globalUserLanguage,
            profilePicture: req.body.globalUserProfilePicture
        }],
        $sort: {username: 1}
    }
}

以下是一个示例文档:

enter image description here

正如你在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]

1 个答案:

答案 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}
    }
}