Mongodb - 在同一文档中的多个位置更新

时间:2013-02-05 08:49:36

标签: mongodb

我有一个这样的文件:

myDoc : {
    _id : a101
    name : John,
    batch : [{
        _id : batch101,
        value : physics
    },{
        _id : batch102,
        value : chemistry
    },{
        _id : batch103,
        value : maths
    }]
}

我想更新"值"到了计算机"其中batch._id是" batch101"或"批次102" (不是批次103)。

请帮忙!提前谢谢。

-Manish:)

1 个答案:

答案 0 :(得分:0)

正如对orignal问题的评论中所述,这里最好的解决方案可能是在客户端使用该文档。我将把它分解为几个步骤:

1)查询文档。您提到您正在使用节点,因此这将以JSON表示。让我们调用这个变量x

2)浏览您的文档,查找要更新的元素,这可能如下所示:

for(i = 0; i < x.batch.length; i++) {  
    if(x.batch[i]._id == 'batch101') {  
        //do something
    }
}

(显然,这段代码并不完整,但可以让您了解自己想要的内容)

3)现在,使用此更改的文档,更新mongoDB中的旧文档。

此过程应该允许您实现更新批处理列表中某些元素的目标。