ホームページ > バックエンド開発 > Golang > Mongo-Go-Driver を使用して MongoDB ドキュメントから特定のフィールドをフィルタリングする方法は?

Mongo-Go-Driver を使用して MongoDB ドキュメントから特定のフィールドをフィルタリングする方法は?

Susan Sarandon
リリース: 2024-12-19 03:55:12
オリジナル
878 人が閲覧しました

How to Filter Specific Fields from MongoDB Documents using the Mongo-Go-Driver?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート