MongoDB - 使用 javascript 更新子文档
Posted
技术标签:
【中文标题】MongoDB - 使用 javascript 更新子文档【英文标题】:MongoDB - Update subdocuments using javascript 【发布时间】:2019-03-04 15:17:51 【问题描述】:apps
集合中的每个文档都包含一个用户子集合。现在,我需要使用 javascript 为 apps
集合更新每个应用程序的单个用户。我不能为此定期调用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 更新子文档的主要内容,如果未能解决你的问题,请参考以下文章