Maison > développement back-end > Golang > Comment interroger MongoDB depuis Go avec un tableau d'ID d'objet ?

Comment interroger MongoDB depuis Go avec un tableau d'ID d'objet ?

DDD
Libérer: 2024-11-03 00:42:29
original
393 Les gens l'ont consulté

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

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal