对于MongoDB和Mongoose,我是一个菜鸟,所以请原谅我......
我使用Node with Express和Mongoose。我有一个包含大量子文档的文档,以至于我的服务器在尝试加载所有子文档时内存不足。所以我想选择子文档的最后30项。这就是我现在所拥有的,然后猜测我想要的是什么......
Device.findOne({ device_id: deviceId }, (err, device) => {
....
})
这是一个猜测
Device.findOne({ device_id: deviceId }, { movements: { $slice: 30 } }, (err, device) => {
....
})
任何帮助都会很棒,提前谢谢!!!
答案 0 :(得分:2)
要获取最后30个值,只需使用减号。在您的情况下,您可以执行以下操作:
Device.findOne({ device_id: deviceId }, { movements: { $slice: -30 } }, (err, device) => {
....
})
希望它有所帮助。