使用mongo-go-driver 在查詢結果中包含或排除欄位
mongo-go-driver 提供了一種過濾欄位的機制查詢結果,允許您根據需要包含或排除特定欄位。但是,在嘗試使用 findopt.Projection 選項時,如果欄位名稱未正確匯出,您可能會遇到問題。
要解決此問題,請確保您的欄位名稱以大寫字母開頭,表示匯出的欄位。此外,您可以使用結構標籤將MongoDB 字段名稱映射到Go 結構字段,如下例所示:
type fields struct { ID int16 `bson:"_id"` }
正確導出字段名稱後,您可以使用投影執行查詢如下所示:
var opts []*find.FindOptions projection := fields{ ID: 0, } opts = append(opts, find.Projection(projection)) s := bson.NewDocument() filter := bson.NewDocument(bson.EC.ObjectID("_id", starterId)) staCon.Collection.FindOne(nil, filter, opts...).Decode(s)
或者,您可以使用bson.M映射來指定投影:
options := find.FindOptions{} options.Projection = bson.M{"_id": 0} result := staCon.Collection.FindOne(nil, filter, &options).Decode(s)
透過使用適當的字段匯出和投影,您可以有效地過濾 MongoDB 查詢結果中的字段,根據您的特定需求自訂回應。
以上是如何使用 mongo-go-driver 在 MongoDB 查詢結果中包含或排除欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!