使用Mongo-Go-Driver 過濾MongoDB 文件中的欄位
要使用Mongodb-Go-Driver 過濾MongoDB 文檔中的特定欄位,可以使用findopt.Projection 選項。但是,在您提供的程式碼中,由於 fields 結構中的欄位 _id 未匯出(以小寫字母開頭)而出現問題。
修訂的解決方案:
要解決此問題,應匯出欄位名稱(以大寫字母開頭)並利用結構標籤將其對應到 MongoDB _id 欄位。更新後的程式碼:
type fields struct { ID int `bson:"_id"` }
使用Projection Option 進行投影:
要使用投影執行查詢,請使用options.FindOne().SetProjection(projection)方法,其中投影表示要檢索的所需欄位。
已更新程式碼:
projection := fields{ ID: 0, } result := staCon.collection.FindOne( nil, filter, options.FindOne().SetProjection(projection)).Decode(s)
取代使用bson.Document:
或者,bson.Document:
projection := bson.NewDocument( bson.EC.Int32("_id", 0), ) result := staCon.collection.FindOne( nil, filter, options.FindOne().SetProjection(projection)).Decode(s)
或者,bson.Document 可以用作投影:
使用這些方法,您可以從MongoDB 文件中過濾特定字段,抑制不必要的字段如果需要,例如 _id。以上是如何使用 Mongo-Go-Driver 從 MongoDB 文件中過濾特定欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!