mongodb:将数组属性从一个对象复制到另一个对象

时间:2015-06-26 19:46:41

标签: mongodb

我需要对mongo DB进行一些维护。我们处于开发的中间,因此在直接摆弄数据库时没有关于数据完整性等的问题。

我有一个对象Store,它有一个属性" item_list"。

一个Store个对象(例如x)的无效item_list。另一个Storey具有有效item_list。我想在item_list的命令行客户端中将yx复制到mongo

mongo中,当我尝试访问该属性时,它不起作用:当我这样做时

db.Store.find({name:'x'})

mongo返回完整的对象,但

db.Store.find({name:'x'}).item_list

不会返回任何内容。

如何将y的item_list复制到x?

1 个答案:

答案 0 :(得分:1)

您可以采取的一种方法是使用 find() 游标方法 forEach() 来迭代游标并访问文档及其属性,更新其他文件,如下例所示:

db.Store.find({"name": "y"}).forEach(function(doc){
    db.Store.update(
        { "name": "x" },
        { "$set": { "item_list": doc.item_list } },
        { "multi": true }
    )
})