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