-1

我有一个类似这样的文件:

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

我想将“值”更新为“计算机”,其中 batch._id 为“batch101”或“batch102”(不是 batch103)。

请帮忙!提前致谢。

-马尼什:)

4

1 回答 1

0

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

1) 查询文档。您提到您正在节点中工作,因此这将以 JSON 表示。让我们将此变量称为 x

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

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

(显然,这段代码并不完整,但可以让您了解您想要什么)

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

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

于 2013-02-08T17:14:07.413 回答