第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何對嵌套文檔使用元素查詢運(yùn)算符 ($exists)?

如何對嵌套文檔使用元素查詢運(yùn)算符 ($exists)?

Go
江戶川亂折騰 2022-06-21 10:04:03
我正在嘗試使用 Go 查找嵌套文檔中是否存在字段。目前,該文檔如下所示。我正在嘗試查看該用戶的購物車中是否存在項(xiàng)目 ID 字段 - 5f15d53f205c36fa8b022089。使用 Mongo Compass,我能夠使用此過濾器命令成功查詢正確的文檔。{"_id": ObjectId('5f19a8950268ef67ce0c5124'), "shoppingCart.items.5f15d53f205c36fa8b022089": {$exists: true}} 我嘗試在 Go 中使用相同的語法,但我仍然沒有從結(jié)果中得到任何回報(bào)。cursor, err := customersCollection.Find(        ctx,        bson.M{"_id": customerID, "shoppingCart.items.5f15d53f205c36fa8b022089": bson.M{"$exists": true}},        options.Find().SetProjection(bson.M{"_id": 1}),    )     // This is how I am reading the results from the cursor. When    // printing the results, I get an empty array.    var results []bson.M    if err = cursor.All(ctx, &results); err != nil {        customerLog.Errorf(logger.LogError(logger.LogInfo()), err)    }    fmt.Printf("Products Result: %v\n", results)我找不到任何有關(guān)在過濾器參數(shù)中包含元素查詢運(yùn)算符的正確方法的文檔。這是我正在使用的 Mongo 驅(qū)動程序,https://godoc.org/go.mongodb.org/mongo-driver/mongo編輯 1.0 我嘗試過的事情:使用 bson.D 而不是 bson.M。更新了代碼段。光標(biāo),錯(cuò)誤:=customersCollection.Find(ctx,bson.D{{“_id”,customerID},{“shoppingCart.items.5f15d53f205c36fa8b022089”,bson.D{{“$exists”,true}}}},選項(xiàng)。 Find().SetProjection(bson.M{"_id": 1}), )
查看完整描述

2 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

如果您使用go.mongodb.org/mongo-driver/bson包,您可以執(zhí)行以下操作:


query := bson.M{}

query["_id"] = bson.M{

    "$exists": true,

}

如果你愿意,你也可以通過使用包裝器來做更清潔:


type FilterQuery bson.M


func NewFilterQuery() FilterQuery {

    return FilterQuery(bson.M{})

}


func (q FilterQuery) SetIdExists(exist bool) FilterQuery {

    q["_id"] = bson.M{

        "$exists": exist,

    }

    return q

}

然后從您的代碼中,您可以執(zhí)行類似的操作


query := NewFilterQuery()

query.SetIdExist(true)

..

cursor, err := customersCollection.Find(

        ctx,

        query,

    ) 

...


查看完整回答
反對 回復(fù) 2022-06-21
?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊

嘗試以下操作:


bson.D{

   {"$exists", true},

}

(我搜索了驅(qū)動程序的來源$exist。)


查看完整回答
反對 回復(fù) 2022-06-21
  • 2 回答
  • 0 關(guān)注
  • 117 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號