Mongo-Go-Driver を使用した MongoDB ドキュメントからのフィールドのフィルタリング
Mongodb-Go-Driver を使用して MongoDB ドキュメントから特定のフィールドをフィルタするには、 findopt.Projection オプションを利用できます。ただし、提供されたコードでは、フィールド構造体内のフィールド _id (小文字で始まる) がアンエクスポートされているために問題が発生します。
修正された解決策:
これを解決するには、フィールド名を (大文字で始まる) エクスポートし、構造体タグを使用して MongoDB _id フィールドにマップする必要があります。更新されたコード:
type fields struct { ID int `bson:"_id"` }
射影オプションを使用した射影:
射影を使用してクエリを実行するには、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)
これらのアプローチを使用すると、MongoDB ドキュメントから特定のフィールドをフィルタリングして、次のような不要なフィールドを抑制できます。必要に応じて _id。
以上がMongo-Go-Driver を使用して MongoDB ドキュメントから特定のフィールドをフィルタリングする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。