我试图通过Go(mgo for mongo)将findAndModify添加到文档内的两个字段中
像
change := mgo.Change{
Update: bson.M{ "$inc": bson.M{ "score": 20 } }, // here I need to add 20 to hist_score also
ReturnNew: true,
}
collection.Find( bson.M{ "_id": id } ).Apply( change, &doc )
如何通过一个应用更新两个字段得分和hist_score?
答案 0 :(得分:3)
official mongo documentation非常好。将$inc
用于多个字段的方式是:
{ $inc: { <field1>: <amount1>, <field2>: <amount2>, ... } }
和
要在嵌入文档或数组中指定字段,请使用点表示法。
因此,基本上,将更新规范更改为:
bson.M{ "$inc": bson.M{ "score": 20, "hist_score": 10 } }