mongodb - 如何仅填充子文档数组中的第一个元素

标签 mongodb mongoose

我有 myDocument 架构:

{
  name: {type: String},
  data:  [{type: Schema.Types.ObjectId, ref: 'myData'}],
}

我的目标是只填充数据数组中的第一个元素。

myDocument.find({}).populate('data').exec();

我只想从 myData 数组 (myDocument.data[0]) 中选择第一个元素。

如果数组为空,myDocument.data.length === 1 或 0 应该

最佳答案

我发现 populate options 参数允许为填充的数组设置 limit

myDocument.find({}).populate({path: 'data', options: {limit: 1} }).exec();

关于mongodb - 如何仅填充子文档数组中的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48841000/

相关文章:

mongodb - 我如何使用 mgo 和 Golang 编写以下 Mongo 聚合查询

reactjs - 如何向 mongoDb 模型添加新属性?

node.js - 使用 mongoose 连接到 mongodb 时出现 "Cannot read property ` 消息 ` of null"

node.js - 使用 Passport-local-mongoose 的错误请求

javascript - 我需要未填充属性值的 Mongoose/mongoDb 搜索

ruby-on-rails - 如何使用 Mongoid 和 Rails 对结果进行分组?

mongodb - mongo Shell 中的查询给出 SyntaxError : missing : after property

php - 使用 preg_matches 进行多数组匹配

javascript - 如何使用 mongo 聚合循环遍历数组并返回所需的文档?

javascript - Mongoose - 查找(): object inside search options is not working