Документы в моей коллекции apps
содержат подколлекцию пользователей.Теперь мне нужно обновить одного пользователя для каждого приложения, учитывая набор _id
s для коллекции apps
, используя javascript.Для этого я не могу использовать обычный вызов update()
, поскольку вставленные данные будут зашифрованы с использованием открытого ключа, хранящегося в документе приложения.Поэтому данные, записанные в пользовательский поддокумент, зависят от документа приложения, в котором они содержатся. Псевдокод того, что мне нужно сделать:
foreach app in apps:
app.users.$.encryptedData = encrypt(data, app.publicKey)
Один из способов сделать это - найти всеприложения, а затем используйте forEach()
для обновления каждого приложения.Тем не менее, это кажется мне неэффективным, так как все документы приложения должны были бы быть найдены дважды в базе данных, один раз, чтобы собрать их все, а затем в другой раз, чтобы обновить каждый отдельный документ.Должен быть более эффективный способ.