簡體   English   中英

查找修改並將其插入到MongoDB的同一集合中

[英]Find Modify and Insert into the Same Collection of MongoDB

任何人都可以在MongoDB中解決以下情況嗎?

  1. 從集合A中查找具有條件的文檔(假設我們有2個文檔)
  2. 修改這2個文檔,然后將其插入Same collection A中,而不會干擾原始2個文檔。

聚合將不支持合並到同一集合中,我是通過簡單的javascript獲得的,但我們需要在MapReduce中使用。

以下是我的簡單腳本:

db.col1.find({
    "field1": "value"
}).forEach(function(d1) {
    d1.f2 = NumberInt(d1.f2 / 10);
    db.col1.save(d1)
})

在保存修改后的文檔d1之前,使用新的ObjectId()更改其_id,這將插入新的d1,而不是更新現有的d1:

db.col1.find({"field1" : "value"}).forEach(function(d1)
{ 
  d1.f2 = NumberInt(d1.f2/10);
  d1._id = ObjectId(); 
  db.col1.save(d1);
})

暫無
暫無

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

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