1 回答
TA贡献1801条经验 获得超8个赞
问题在于您将 the 声明operations
为 a []bson.M{}
,因此您获得了一组地图。
如果您检查bson.M{} 的定义,它是一个 map[string]interface{} 您只需要将元素添加到地图(在您的情况下是您想要的操作)。为此,语法是yourMap[yourKey] = yourValue
.
尝试使用以下代码生成操作循环:
operations := bson.M{}
for _, val := range conditions {
var attr, operator, value interface{}
cons := val.(map[interface{}]interface{})
for range cons {
attr = cons["attribute"]
operator = cons["operator"]
value = cons["value"]
switch operator {
case "==":
operator = "$eq"
case "!=":
operator = "$ne"
case "()":
operator = "$in"
}
}
operations[attr.(string)] = bson.M{operator.(string): value}
}
- 1 回答
- 0 关注
- 101 浏览
添加回答
举报