Nodejs mongoose-与sort排序

时间:2017-10-12 17:14:14

标签: node.js mongoose

我正在尝试从独特的聊天室获取消息。有了这个查询:

message.distinct( "chat_room",{ chat_room: {$regex : ".*" + email + ".*"}} ) 

我只获得了独特聊天室的列表,但我希望从给定的集合中获取所有信息(如时间,身份等)。我添加的内容更多:

.sort({ time: 1 })

我收到了错误。

1 个答案:

答案 0 :(得分:1)

您可以使用aggragate而不是使用aggragate,因为sort和distinct不能同时使用它可能会引发错误cannot sort with distinct

所以你需要做的是

message.aggregate([{
           "$match":{ chat_room: {$regex : ".*" + email + ".*"}}
 },{
    $group:{_id:$chat_room}
    },{$sort:{
            'sort_field_name':-1
           }
       }])