对于 MongoDB 和 Mongoose,我是个菜鸟,所以请原谅我......
我正在将 Node 与 Express 以及 Mongoose 一起使用。我有一个包含大量子文档的文档,以至于我的服务器在尝试加载所有子文档时内存不足。所以我想选择子文档的最后 30 项。这是我现在拥有的,然后猜测我想要什么......
Device.findOne({ device_id: deviceId }, (err, device) => {
....
})
这是一个猜测
Device.findOne({ device_id: deviceId }, { movements: { $slice: 30 } }, (err, device) => {
....
})
任何帮助都会很棒,提前致谢!!!
最佳答案
你几乎成功了。
要获取最后 30 个值,只需使用减号即可。对于您的情况,您可以执行以下操作:
Device.findOne({ device_id: deviceId }, { movements: { $slice: -30 } }, (err, device) => {
....
})
希望有帮助。
关于node.js - MongoDB 与 Mongoose 限制子文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42685297/