簡體   English   中英

在MongoDB中更新具有不同值的記錄

[英]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 ”(它是數組 )中插入一個新的子文檔,該文檔帶有一個對象,該對象具有兩個屬性,即datevolume

雖然我想要更新的每條記錄的日期都相同,但數量卻不同,並且每條記錄的日期可能會有所不同。

有沒有一種方法可以實現我的目標而不必經歷巨大的數據庫攻擊?

多重更新根據更新說明符更新所有匹配的文檔。 如果要使用不同的值更新每個文檔,則必須為N個文檔發布N個更新(或更確切地說,為將要使用的N個更新說明符中的每一個發布N個更新)。 例如,如果volume少於topic_codes ,則可以發出一系列多重更新,其中每個更新僅使用$in來觸及應具有相同volume那些文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM