gopkg.in/mgo.v2 を使用した MongoDB での効率的なオブジェクトの存在チェック
提供されたコード スニペットは、オブジェクトの存在を効率的にチェックします。 MongoDB コレクション内。ただし、見つかったオブジェクトを格納する不要な変数 res が導入されます。これは、オブジェクトが大きくて複雑な場合に問題になる可能性があります。
Count() を使用した代替アプローチ
幸いなことに、gopkg.in/mgo.v2 パッケージで提供される Count() メソッドを使用してオブジェクトの存在を確認する、より簡潔で最適化された方法があります。
<code class="go">count, err := collection.Find(bson.M{field: value}).Count()</code>
このメソッドは整数のカウントを返します。コレクション内の一致するドキュメントのリスト。デフォルトでは、指定されたフィルター条件に一致するすべてのドキュメントが考慮されます。つまり、少なくとも 1 つのドキュメントが存在する場合、カウントは 0 より大きくなります。
Usage
特定のフィールドと値のペアを持つオブジェクトがコレクションに存在するかどうかを確認するには、上記のコード スニペットのフィールド名と値を単純に置き換えます。
<code class="go">count, err := collection.Find(bson.M{"title": "title1"}).Count()</code>
count 変数がゼロより大きい値を返した場合、指定されたタイトルを持つオブジェクトがコレクション内に既に存在することを示します。
利点
Count() メソッドを使用すると、次のようないくつかの利点があります。
以上がgopkg.in/mgo.v2 を使用して MongoDB 内のオブジェクトの存在を効率的に確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。