Golang MongoDb 驱动程序中的动态 BSON 创建

Dynamic BSON creation in Golang MongoDb driver

我正在使用以下 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}