亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MongoDB in Go (golang) with mgo:如何使用邏輯運算符進行查詢?

MongoDB in Go (golang) with mgo:如何使用邏輯運算符進行查詢?

Go
慕勒3428872 2021-08-30 15:12:27
我想在管道中使用 mgo 在 golang 中運行以下查詢。{"key1" : 1, "$or" : [{"key2" : 2}, {"key3" : 2}]}我到處找,但找不到這樣的例子。我嘗試了許多不同的組合,例如:...pipeline := []bson.M{                     bson.M{    "$match" :  bson.M{ "key1" : 1,                                                     "$or" : bson.M{ "key2" : 2, "key3" : 2},                     }                     ...            }編譯正確,沒有找到任何東西。有任何想法嗎?
查看完整描述

2 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

您的 mongo 查詢可以轉換為以下內容:


pipeline := bson.D{

    {"key1", 1},

    {"$or", []interface{}{

        bson.D{{"key2", 2}},

        bson.D{{"key3", 2}},

    }},

}

查詢應等效于 mongo 控制臺中的以下內容:


db.mycollection.find({"key1" : 1, "$or" : [{"key2" : 2}, {"key3" : 2}]})

如果您更愿意使用無序映射bson.M,則如下所示:


pipeline := bson.M{

    "key1": 1,

    "$or": []interface{}{

        bson.M{"key2": 2},

        bson.M{"key3": 2},

    },

}


查看完整回答
反對 回復 2021-08-30
?
holdtom

TA貢獻1805條經驗 獲得超10個贊

go lang Mongo db 或查詢


findQuery := bson.M{"key1" : 1}

orQuery := []bson.M{}

orQuery := append(orQuery, bson.M{"key2" : 2}, bson.M{"key3" : 2})


findquery["$or"] = orQuery

result := []interface{}

err := mongo.DB.C("collectionName").find(findQuery).All(&result)


查看完整回答
反對 回復 2021-08-30
  • 2 回答
  • 0 關注
  • 304 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號