可以使用MongoDB的aggregate函数来实现$ or和$ and组合的查询,代码如下:
// 创建一个查询条件
var query = bson.M{
"$or": []bson.M{
bson.M{"field1": "value1"},
bson.M{"field2": "value2"},
},
"$and": []bson.M{
bson.M{"field3": "value3"},
bson.M{"field4": "value4"},
},
}
// 执行查询
err := collection.Find(query).All(&result)
if err != nil {
// 处理错误
}