ホームページ >バックエンド開発 >Golang >オブジェクト ID の配列を使用して Go から MongoDB にクエリを実行する方法は?

オブジェクト ID の配列を使用して Go から MongoDB にクエリを実行する方法は?

DDD
DDDオリジナル
2024-10-29 20:06:02241ブラウズ

How to Query MongoDB from Go Using an Array of Object IDs?

オブジェクト ID の配列を使用して Go から MongoDB にクエリを実行する

MongoDB では、ドキュメントの ID を文字列またはオブジェクトの配列に格納できます。 ID。 mgo パッケージを使用して、配列に格納されているオブジェクト ID に基づいて複数のドキュメントを取得する場合は、正しいアプローチに従っていることを確認することが重要です。

間違ったクエリ

提供されたクエリ:

query := bson.M{"_id": bson.M{"$in": ids}}

は、ids が文字列の配列であるため、オブジェクト ID としては正しくありません。 MongoDB は $in 演算子のオブジェクト ID を必要とします。

オブジェクト ID の正しいクエリ

配列に格納されているオブジェクト ID をクエリするには、文字列を前にオブジェクト ID に変換します。クエリの構築:

oids := make([]bson.ObjectId, len(ids))
for i := range ids {
  oids[i] = bson.ObjectIdHex(ids[i])
}
query := bson.M{"_id": bson.M{"$in": oids}}

for ループは文字列の配列を反復処理し、bson.ObjectIdHex(string) を使用して各文字列をオブジェクト ID に変換し、それを oids スライスに保存します。結果の oids スライスにはオブジェクト ID が含まれます。次に、$in 演算子の oids スライスを使用してクエリが構築されます。

オブジェクト ID に正しいクエリを使用すると、Go と mgo パッケージを使用して MongoDB から ID が一致する複数のドキュメントを効率的に取得できます。

>

以上がオブジェクト ID の配列を使用して Go から MongoDB にクエリを実行する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。