1 回答

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
問(wèn)題在于您將 the 聲明operations
為 a?[]bson.M{}
,因此您獲得了一組地圖。
如果您檢查bson.M{} 的定義,它是一個(gè) map[string]interface{} 您只需要將元素添加到地圖(在您的情況下是您想要的操作)。為此,語(yǔ)法是yourMap[yourKey] = yourValue
.
嘗試使用以下代碼生成操作循環(huán):
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 關(guān)注
- 130 瀏覽
添加回答
舉報(bào)