Interrogation de MongoDB depuis Go avec un tableau d'ID d'objet
Dans MongoDB, il est possible de récupérer des documents en fonction de leurs identifiants d'objet stockés dans un tableau avec l'opérateur $in et les packages mgo et bson.
Implémentation de la requête :
Pour effectuer la requête correctement, vous devez vous assurer que les identifiants d'objet dans le le tableau est au format correct. Si les documents sont stockés avec des ID de chaîne, la requête que vous avez fournie était exacte :
<code class="go">query := bson.M{"_id": bson.M{"$in": ids}} c.Find(query).All()</code>
Cependant, si les identifiants d'objet sont sous la forme de chaînes codées en hexadécimal (par exemple, "543d171c5b2c12420dd016"), vous avez besoin pour les convertir en objets bson.ObjectId avant de les utiliser dans la requête. Voici comment procéder :
<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>
Cette modification garantit que la requête correspond aux identifiants d'objet stockés dans le tableau en tant qu'objets bson.ObjectId.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!