MongoDB - 使用 javascript 更新子文档

Posted

技术标签:

【中文标题】MongoDB - 使用 javascript 更新子文档【英文标题】:MongoDB - Update subdocuments using javascript 【发布时间】:2019-03-04 15:17:51 【问题描述】:

apps 集合中的每个文档都包含一个用户子集合。现在,我需要使用 javascriptapps 集合更新每个应用程序的单个用户。我不能为此定期调用update(),因为插入的数据将使用存储在应用程序文档中的公钥进行加密。因此写入用户子文档的数据取决于它所包含的应用程序文档。我需要做的伪代码:

foreach app in apps:
    app.users.$.encryptedData = encrypt(data, app.publicKey)

一种方法是找到所有应用程序,然后使用forEach() 更新每个应用程序。但是,这对我来说似乎效率很低,因为必须在数据库中找到所有应用程序文档两次,一次收集所有文件,另一次更新每个文档。必须有更有效的方法。

【问题讨论】:

不,没有其他办法,因为您的数据是在客户端加密的。 Update MongoDB field using value of another field的可能重复 【参考方案1】:

简短的回答是不,您不能使用该文档中的值更新 mongoDB 中的文档。

看看 https://***.com/a/37280419/5293110 除了自己进行迭代之外的其他想法。

【讨论】:

以上是关于MongoDB - 使用 javascript 更新子文档的主要内容,如果未能解决你的问题,请参考以下文章

关于NodeJs为啥要用mongoose操作mongodb

MongoDB学习——持续更新

MongoDB - 使用 javascript 更新子文档

MongoDB - 使用 javascript 更新子文档

javascript 如何使用MongoDb创建数据库?

javascript 如何使用猫鼬连接mongodb?