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

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

如何使用官方的 mongo-go-driver 從 mongo 文檔中過濾字段

如何使用官方的 mongo-go-driver 從 mongo 文檔中過濾字段

Go
德瑪西亞99 2023-05-04 17:39:53
如何使用 mongo-go-driver 過濾字段。嘗試使用 findopt.Projection 但沒有成功。type fields struct {    _id int16}s := bson.NewDocument()filter := bson.NewDocument(bson.EC.ObjectID("_id", starterId))var opts []findopt.Oneopts = append(opts, findopt.Projection(fields{    _id: 0,}))staCon.collection.FindOne(nil, filter, opts...).Decode(s)最后,我想壓制字段“_id”。但是文件沒有改變。
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經(jīng)驗 獲得超6個贊

編輯:隨著 mongo-go 驅(qū)動程序的發(fā)展,可以使用bson.M如下簡單的方式指定投影:

options.FindOne().SetProjection(bson.M{"_id":?0})

原始(舊)答案如下。


它對您不起作用的原因是因為該字段fields._id未導(dǎo)出,因此,沒有其他包可以訪問它(只有聲明包)。

您必須使用導(dǎo)出的字段名稱(以大寫字母開頭),例如ID,并使用結(jié)構(gòu)標(biāo)簽將其映射到 MongoDB_id字段,如下所示:

type?fields?struct?{
????ID?int?`bson:"_id"`}

現(xiàn)在使用投影執(zhí)行查詢:


projection := fields{

? ? ID: 0,

}

result := staCon.collection.FindOne(

? ? nil, filter, options.FindOne().SetProjection(projection)).Decode(s)

請注意,您也可以使用 abson.Document作為投影,您不需要自己的結(jié)構(gòu)類型。例如,以下內(nèi)容相同:


projection := bson.NewDocument(

? ? bson.EC.Int32("_id", 0),

)

result := staCon.collection.FindOne(

? ? nil, filter, options.FindOne().SetProjection(projection)).Decode(s)


查看完整回答
反對 回復(fù) 2023-05-04
  • 1 回答
  • 0 關(guān)注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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