我正在使用以下 BSON 进行过滤器查询。
id1, _ := primitive.ObjectIDFromHex("5da34e9037c3bed2f5409489")
id2, _ := primitive.ObjectIDFromHex("5da3511c37c3bed2f540948a")
filter := bson.D{{"_id", bson.D{{"$in", bson.A{id1, id2}}}}}
目前只有 id1 和 id2,将来会有 id3 、 id4 。
如何创建动态 BSON 并将其传递到过滤器中?
请您参考如下方法:
bson.A
只是一个数组:
var idarr bson.A
for _,x:=range ids {
a=append(a,primitive.ObjectIDFromHex(x))
}
inQuery:=bson.D{"$in":idarr}