[英]Update records with different values in MongoDB
我試圖為自己節省很多查詢,我使用Mongoose作為ODM。
我有一個相當大的數組topic_codes,例如50k +個元素,我正在這樣做(CoffeeScript):
conditions = code: $in: topic_codes
update = $push: samples: date: point_in_time, volume: ??
options = multi: true
TopicArchive.update conditions, update, options, (err) ->
在這里,我試圖在文檔的“ samples ”(它是數組 )中插入一個新的子文檔,該文檔帶有一個對象,該對象具有兩個屬性,即date和volume 。
雖然我想要更新的每條記錄的日期都相同,但數量卻不同,並且每條記錄的日期可能會有所不同。
有沒有一種方法可以實現我的目標而不必經歷巨大的數據庫攻擊?
多重更新根據更新說明符更新所有匹配的文檔。 如果要使用不同的值更新每個文檔,則必須為N個文檔發布N個更新(或更確切地說,為將要使用的N個更新說明符中的每一個發布N個更新)。 例如,如果volume
少於topic_codes
,則可以發出一系列多重更新,其中每個更新僅使用$in
來觸及應具有相同volume
那些文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.