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

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

如果將空白數組傳遞給 $in 運算符,則會出錯

如果將空白數組傳遞給 $in 運算符,則會出錯

Go
qq_花開花謝_0 2022-10-17 16:02:18
我參與過 Go 和 MongoDb 項目。其中,我遇到了一個問題。我已經使用 $in 運算符將整數的動態切片 ([]int) 傳遞到查詢中。每件事看起來都很好,但是當這個切片為空時,它會返回一個錯誤“$in 需要一個數組”。但是我將它用作搜索參數,并且如果我傳遞空白數組,則它與所有數組匹配。注意:我使用的是 MongoDB shell 版本 v5.0.3這是我的代碼:var searchedProfiles []intsearchFilter := bson.M{"customer.id": bson.M{"$in": searchedProfiles}}newQry := []bson.M{    {"$lookup": bson.M{        "localField":   "cid",        "from":         "customers",        "foreignField": "_id",        "as":           "customer"}},    {"$match": searchFilter},}如果有人有任何想法,請告訴我。謝謝!
查看完整描述

1 回答

?
蠱毒傳說

TA貢獻1895條經驗 獲得超3個贊

nil值不會被編組為空數組,因此請確保searchedProfiles不是nil但至少是一個空切片:

searchedProfiles = []int{}

這將被編組到一個空數組中,因此您不會收到相關錯誤。

但這不會給你所有的文件,這不會給你任何結果(空列表中沒有任何內容)。

如果沒有搜索到的配置文件,則將其從過濾中排除。


查看完整回答
反對 回復 2022-10-17
  • 1 回答
  • 0 關注
  • 86 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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