node.js - MongoDB 与 Mongoose 限制子文档

标签 node.js mongodb mongoose

对于 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/

相关文章:

javascript - JSON 数据未添加到数据库

javascript - 删除 discord.js 排行榜中的所有从右到左的字符

node.js - nodejs 中实时 token 的安全时间

MongoDB 无法作为服务启动

mysql - 我如何在 MongoDB 中重复 MySQL 的 WHERE 1 查询?

javascript - 我应该用哪种方式编写新的 Mongoose 模式?

javascript - 使用 ShouldJS 比较来自 Mongoose 的数组

node.js - 如何使用node.js dns.resolve函数查找多种记录类型?

android - 通过node/express js同步本地android数据库

mysql - 插入文档时也不异常(exception)