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

オブジェクト ID の配列を使用して Go から MongoDB にクエリを実行するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-03 00:42:29354ブラウズ

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

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

MongoDB では、配列に格納されたオブジェクト識別子に基づいてドキュメントを取得できます。 $in 演算子と mgo および bson パッケージを使用します。

クエリの実装:

クエリを正しく実行するには、配列は正しい形式です。ドキュメントが文字列 ID とともに保存されている場合、指定したクエリは正確でした:

<code class="go">query := bson.M{"_id": bson.M{"$in": ids}}
c.Find(query).All()</code>

ただし、オブジェクト識別子が 16 進数でエンコードされた文字列 (例: "543d171c5b2c12420dd016") の形式である場合は、クエリで使用する前に、それらを bson.ObjectId オブジェクトに変換します。その方法は次のとおりです。

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

この変更により、クエリが bson.ObjectId オブジェクトとして配列に格納されているオブジェクト識別子と一致することが保証されます。

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

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