【发布时间】:2019-03-04 15:17:51
【问题描述】:
apps 集合中的每个文档都包含一个用户子集合。现在,我需要使用 JavaScript 为 apps 集合更新每个应用程序的单个用户。我不能为此定期调用update(),因为插入的数据将使用存储在应用程序文档中的公钥进行加密。因此写入用户子文档的数据取决于它所包含的应用程序文档。我需要做的伪代码:
foreach app in apps:
app.users.$.encryptedData = encrypt(data, app.publicKey)
一种方法是找到所有应用程序,然后使用forEach() 更新每个应用程序。但是,这对我来说似乎效率很低,因为必须在数据库中找到所有应用程序文档两次,一次收集所有文件,另一次更新每个文档。必须有更有效的方法。
【问题讨论】:
-
不,没有其他办法,因为您的数据是在客户端加密的。
标签: arrays database mongodb subdocument