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

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

如何在官方mongodb golang包中的“_id”上執(zhí)行$regex?

如何在官方mongodb golang包中的“_id”上執(zhí)行$regex?

Go
臨摹微笑 2022-08-24 11:13:02
我正在嘗試在golang“go.mongodb.org/mongo-driver/”包中的ObjectId()上執(zhí)行正則表達式查詢。到目前為止,我嘗試了:query := bson.M{}query["_id"] = primitive.Regex{    Pattern: mySearchID,    Options: "i",}opts := options.Find()collection.Find(context.TODO(), query, opts)它根本不起作用。我也試過了:query := bson.M{}query["_id"] = bson.D{    {        Key:   "$regex",        Value: mySearchID,    },    {        // i is for case insensitive        Key:   "$options",        Value: "i",    },}opts := options.Find()collection.Find(context.TODO(), query, opts)它也不起作用。如何僅包含部分 ID 的文檔?
查看完整描述

1 回答

?
慕桂英546537

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

$regex很可能只適用于字符串。如果你看一下 https://docs.mongodb.com/manual/reference/operator/query/regex/ 單詞“字符串”是斜體的:


為查詢中的模式匹配字符串提供正則表達式功能。


所以:


irb(main):034:0> a['foo'].find.first

=> {"_id"=>BSON::ObjectId('6068e59d4896683bab61ddbe'), "test"=>1}


irb(main):035:0> a['foo'].find(_id: /606/).first

=> nil

可以使用 https://docs.mongodb.com/manual/reference/operator/aggregation/convert/(和聚合管道)將值轉換為字符串類型:


irb(main):037:0> a['foo'].aggregate([{'$set'=>{_id:{'$convert'=>{input:'$_id',to:'string'}}}},{'$match':{_id:/606/}}

]).to_a

=> [{"_id"=>"6068e59d4896683bab61ddbe", "test"=>1}]

請注意,此類型將_id轉換為字符串,如果在其原始 ObjectId 類型中需要它,則需要將其$convert。


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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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