我使用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)进行排序?
答案 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);
});