Điều quan trọng là $or
yêu cầu một mảng, là bson.A
. Ngoài ra $and
là mặc định, bạn không cần phải chỉ ra điều đó.
Bộ lọc của bạn có thể được định nghĩa như sau:
filter := bson.D{
{"p", 10},
{"$or", bson.A{
bson.D{{"s", 30}},
bson.D{{"a", 10}},
}},
}
Bạn cũng có thể sử dụng cái này:
filter = bson.D{
{"p", 10},
{"$or", bson.A{
bson.M{"s": 30},
bson.M{"a": 10},
}},
}
Hoặc cái này:
filter := bson.M{
"p": 10,
"$or": bson.A{
bson.M{"s": 30},
bson.M{"a": 10},
},
}