我有文件:
{
"_id" : ObjectId("592be26fd600eb5941385396"),
"isbn" : "978-2-1234-5680-3",
"voices" : {
"1" : 10,
"2" : 25,
"3" : 40,
"4" : 70,
"5" : 100
},
"total" : 245,
"avg" : 3.92
}
当我添加下一个用户语音时,例如:
db.books.update({isbn: '978-2-1234-5680-3'}, {$inc: {'voices.2': 1, 'total': 1}})
我想计算平均场。我可以在一个命令中执行此操作吗?例如($ set是"伪代码"):
db.books.update({isbn: '978-2-1234-5680-3'}, {$set: {avg: ((voices.1 * 1 +
voices.2 * 2 + voices.3 * 3 + voices.4 * 4 + voices.5 * 5) / total)}}
Od也许我可以增加一个声场并在一个命令中计算平均值?