NodeJS - 我们可以从 Mongoose 更新填充的子文档吗?

Posted

技术标签:

【中文标题】NodeJS - 我们可以从 Mongoose 更新填充的子文档吗?【英文标题】:NodeJS - Can we update a populated subdocument from Mongoose? 【发布时间】:2018-06-26 07:42:01 【问题描述】:

就像我有一个收藏 Authors 。现在 Authors Schema 有一个包含 Books Array 的数组,其中包含 Books Collection 中相关文档的 Id 数组。

现在在 Mongoose 中,如果我填充 Authors 书籍数组,我会得到所有书籍文档。现在假设返回的 Author 对象是 authorObj

我愿意

authorObj.books[0].name = 'New Name'

然后调用

authobj.save(function(err,detail)
if(!err)
  console.log("All Updated");
)

这会更新图书文档并更新其名称吗?

【问题讨论】:

这取决于您的架构构造 先试试,再回复。 【参考方案1】:

没有,因为其他模式的Book Document,所以你需要使用Book Object来更新文档。

【讨论】:

以上是关于NodeJS - 我们可以从 Mongoose 更新填充的子文档吗?的主要内容,如果未能解决你的问题,请参考以下文章

更新子文档、NodeJS 和 Mongoose 的更有效方式

nodejs 连接mongoose 报错 connect ECONNREFUSED怎么解决

关于NodeJs为啥要用mongoose操作mongodb

如何在 mongodb 中自动插入记录(nodejs、express、mongoose)

我们如何使用带有 expressjs-nodejs 的 mongoose 对 mongodb 中的 ObjectId 列执行排序?

记录 json 数据时,nodejs 和 mongoose 返回 undefined