【发布时间】:2020-04-01 10:55:00
【问题描述】:
我尝试使用嵌套运算符 (OR/AND/...) 创建 MongoDB 查询过滤器。但是 lib 需要创建一个 bson.D 并将 bson.E 元素传递给它。如果我需要在AND/OR 中添加OR/AND - 我需要将bson.M + bson.D 放入bson.D 中,如下所示:
filter := bson.M{"$and": bson.D{{"p", 10}, bson.M{"$or": bson.D{{"s", 30}, {"a", 1}}}}}
.. 当然它不起作用:cannot use primitive.M literal (type primitive.M) as type primitive.E in slice literal。如果稍后我尝试在bson.D 中使用... in [] 逻辑,可能会发生同样的问题
如何在 Go 和官方 MongoDB 驱动程序中创建这样的嵌套查询?
【问题讨论】: