【发布时间】:2022-01-10 03:14:09
【问题描述】:
所有, 我正在使用 MongoDB/Golang 驱动程序并使用以下 Golang 代码来构建管道。我已经成功地对此进行了测试,并且可以正常工作:
.
.
matchStage := bson.D{
{"$match",bson.D{
{"$or", bson.A{
bson.D{{"featureA","string123"}},
bson.D{{"featureA","string456"}},
bson.D{{"featureA","string789"}},
bson.D{{"featureA","string012"}},
}},
}},
}
filterCursor, err := collection.Aggregate(ctx, mongo.Pipeline{matchStage})
.
.
我的问题是,假设我将 bson.D 值作为切片输入,如何动态构建此查询?具体来说,我提前知道了“featureA”的关键,并被喂了一片:
features := []string{"string123", "string456", "string"789", "string012"}
我知道这必须相对简单,但我已经为此绞尽脑汁好几个小时了,循环切片、json 编组/解组等。
【问题讨论】:
标签: arrays mongodb go mongodb-query