繁体   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