【发布时间】:2019-09-19 01:30:17
【问题描述】:
我正在尝试使用 nodejs 中的 mongoose 更新 MongoDB 中多个文档中的多个嵌入文档。
该文档的示例如下所示。
如您所见,在 'exampleDocument' 中有一个嵌入文档:'embededDoc'。
let exampleDocument =
{
_id: '1aa',
player_id: '9pp',
docUpdated: false',
embededDoc:
[
{
_id: '3eb',
embededDocUpdated: false,
timeDocWasSaved: '2019-04-30T08:45:50.349Z'
}
],
}
如何在多个 'exampleDocument' 文档中更新多个嵌入的 'embededDoc' 文档。
在this answer 的帮助下,我知道如何使用一条命令更新多个文档,如下所示:
db.exampleDocument.update(
{ _id: { $in: ['1aa', '2bb', '3cc'] } },
{ $set: { docUpdated : yes } }
)
如果我想通过它们的 id 更新几个嵌入文档(embededDoc)怎么办?
例如,假设我们有三个 'exampleDocument' 文档,其 id 为:'1aa'、'2bb'、'3cc'。这些文档中的每一个都有五个嵌入文档,我想通过它们的 id 更新一些嵌入文档......是否可以使用一个命令来完成,或者我必须逐个文档地完成它?
如果可能的话,我非常感谢您提供带有答案的代码示例,谢谢。
【问题讨论】: