我是Go和MongoDB的新手。我遇到了以下案例:
我有以下文件:
{
"_id": "568adf31945dbe55e3189f6a"
"test1": 5
"test2": 10
"status": "in progress"
}
我需要在test1字段小于test2时增加它。
如果我想将字段与静态值进行比较,我可以使用以下代码:
change := mgo.Change{Update: bson.M{"$inc": bson.M{"test1": 1}},}
myModel := models.MyModel{}
info, err := db.Find(
bson.M{"_id" : bson.ObjectIdHex("568adf31945dbe55e3189f6a"),
"test1": bson.M{ "$lt": 10 }}).Apply(change, &myModel)
但是如何在find函数中将test1与test2字段进行比较? (我希望在没有对数据库的额外请求的情况下进行原子查找)
谢谢。