我有一份如下文件:
{
"_id" : ObjectId("52e51809454115b7c5d593a4"),
"usage" : {
"from" : "2013-12-02T00:00:00+01:00",
"to" : "2014-02-02T00:00:00+01:00",
"used" : 674999999,
"total" : NumberLong(4000000000)
},
"refills" : [
{
"id" : "RXh0cmEgU3VyZnZvbHlt",
"amount" : 1000000000,
"fee" : "5520",
"feeVat" : "6900",
"validTo" : "2014-02-02T00:00:00+01:00"
}
],
}
我想在“使用情况”中更新“总数”的值,并在“重新填充”中添加“金额”值 所有其他值应该相同。
我如何做到最好?
答案 0 :(得分:0)
假设refills
是object
而不是array
,例如:
coll.find( ..., function( err, result) {
...
coll.update( ..., { $set: { 'refills.amount': ... } }, function( err,result ) {
...
});
});
因此,您首先必须阅读特定文档以获取total
的值,然后更新字段refills.amount
。您可以使用$set
或$inc
,具体取决于您要更新的方式。
编辑:
如果refills
是array
,那就不一样了。请参阅here。