具体来说,我有一个名为Ideas的系列。 一个想法可能看起来像这样:
{
_id:"453uit8ig9",
body:"my idea description",
relations: {
"9fg8oew74gt9ebh":{weight:1, unconfirmed:true},
"754787hsdfh":{weight:1, unconfirmed:true},
"ghtruuy6767":{weight:1, unconfirmed:true},
"479898ioujhh":{weight:1, unconfirmed:true},
}
}
“relations”属性是一个字典,其ID为相关的Ideas作为键,另一个字典表示关系的性质为值。
如果我有一个Idea的ID和一个与之相关的想法的ID,那么如何制作一个mongo更新查询来改变“未经证实的”属性(即将其设置为false)?
答案 0 :(得分:0)
如果您将relations
重写为{relation, weight, unconfirmed}
数组,那么您就可以使用positional $ operator:
Ideas.update({
_id: X,
"relations.relation": Y
}, {
$set: {
"relations.$.unconfirmed": false
}
});