MongoDB批量更新将数据从一个文档插入另一个文档

时间:2014-09-09 01:20:27

标签: mongodb

我还在学习MongoDB,我想知道是否有人可以帮我解决我所面临的情况。

我正在接管一个像关系数据库abd一样创建的数据库结构我想在我的所有文档中嵌入一个完整的文档(而不是仅仅引用文档)。

让我试着尽我所能解释:

我有一个活动表,使用其userID

引用用户
activity : {
    "user_id" : ObjectId("5324a18d3061650002030000") 
}

user_id是另一个名为user的文档的主要ID。

用户:

{
    "_id" : ObjectId("5324a18d3061650002030000"),
    "active" : true,
    "birth_date" : ISODate("1980-03-25T00:00:00.000Z")
}

我想要做的是将我的用户插入到我的活动文档中:

活动:{

      "user_id" : ObjectId("5324a18d3061650002030000") 
      user:
     {
          "_id" : ObjectId("5324a18d3061650002030000"),
          "active" : true,
          "birth_date" : ISODate("1980-03-25T00:00:00.000Z")
     }

}

我想为我的所有活动文件(知道他们当然都引用不同的用户)这样做,请问最好的方法是什么?

非常感谢你们!

1 个答案:

答案 0 :(得分:0)

它应该更简单:

db.users.find().forEach(function(doc) {
    db.activity.update({user_id: doc._id}, {$set:{user:doc}});
});