Go(golang)与mgo中的MongoDB:如何使用逻辑运算符进行查询?

我想在管道中使用mgo在golang中运行以下查询。

{"key1" : 1,

"$or" : [{"key2" : 2}, {"key3" : 2}]}

我到处都看过,但是找不到这样的例子。我尝试了许多不同的组合,例如:

...

pipeline := []bson.M{

bson.M{ "$match" : bson.M{ "key1" : 1,

"$or" : bson.M{ "key2" : 2, "key3" : 2},

}

...

}

正确编译的,什么也找不到。有任何想法吗?

先感谢您

回答:

您的mongo查询可以转换为以下内容:

pipeline := bson.D{

{"key1", 1},

{"$or", []interface{}{

bson.D{{"key2", 2}},

bson.D{{"key3", 2}},

}},

}

该查询应等效于mongo控制台中的以下内容:

db.mycollection.find({"key1" : 1, "$or" : [{"key2" : 2}, {"key3" : 2}]})

如果您希望使用无序列图bson.M,则可能是这样的:

pipeline := bson.M{

"key1": 1,

"$or": []interface{}{

bson.M{"key2": 2},

bson.M{"key3": 2},

},

}

以上是 Go(golang)与mgo中的MongoDB:如何使用逻辑运算符进行查询? 的全部内容, 来源链接: utcz.com/qa/424300.html

回到顶部