1

有没有办法更新嵌入在 mongo 文档的一个字段中的数组的多个元素?

前任:

db.exampleCollection.update({
    "_id" : "00000002522dde26c6d65aed",
    "array.priority" : {$gt : 4}
}, {$inc : {"array.$.priority" : 10} }, false, true);

这不会更新多个元素,只会更新一个元素

4

1 回答 1

0

影响 an 中每个文档的多个数组元素的唯一方法update是使用键中的数字索引来专门标识要通过其数组位置更新的元素:

db.exampleCollection.update({
    "_id" : "00000002522dde26c6d65aed"
}, {
    $inc: {
        "array.0.priority": 10, 
        "array.1.priority": 10
    } 
}, false, true);

我知道您正在尝试定位元素priority > 4而不是按索引,但这是残酷的现实。

于 2013-09-09T18:43:56.210 回答