对使用mongoose过滤器提取的深层嵌套数据进行排序

时间:2018-02-10 09:53:11

标签: node.js mongodb sorting mongoose

我使用mongoose过滤器来获取嵌套在MongoDB文档中的数据。如何对结果进行排序,并且是当前用于提取数据足够有效的方法(如果没有,请建议一些解决方案或资源来研究)?

User.findOne({
UserID: SomeID
}, (err, user) => {
userData = user.userData.filter(userData => {
  if (userData.Time.getTime() >= startTime && userData.Time.getTime() <= endTime) {
    return userData;
  }
});

res.json(userData);

});

如何在MongoDB中按日期对结果(userData)进行排序?

1 个答案:

答案 0 :(得分:0)

  

而不是你根据某个日期过滤数据。你可以做到   在Mongodb中也是如此,因为使用C ++编写的Mongodb更快   按表现

User.findOne({
        $and: [{
            UserID: SomeID
        }, {
            startDate: {
                $lte: new Date()
            }
        }, {
            endDate: {
                $gte: new Date()
            }
        }]
    }, {}, {
        lean: true,
        sort: {
            startDate: -1 //Sort by Date Added DESC
        }
    }(err, user) => {
        err ? res.json(err) : res.json(user);
    });