Maison >développement back-end >Golang >Comment récupérer des documents MongoDB par tableau _ID avec Golang ?

Comment récupérer des documents MongoDB par tableau _ID avec Golang ?

DDD
DDDoriginal
2024-10-30 12:25:03662parcourir

How to Retrieve MongoDB Documents by _ID Array with Golang?

Récupération de documents MongoDB par _ID Array avec Golang

Problème :

Vous possédez un tableau contenant les _ID des objets MongoDB. Pour récupérer efficacement tous les documents correspondants, vous recherchez une requête qui utilise les packages mgo et bson.

Solution :

Pour construire la requête, commencez par examiner les fichiers stockés _ID. S'il s'agit de chaînes, votre requête initiale utilisant bson.M{"_id": bson.M{"$in": ids}} est exacte.

Cependant, si les _ID sont des identifiants d'objet au format hexadécimal, une conversion est nécessaire. Suivez ces étapes :

  1. Initialisez un tableau oids pour contenir les ID d'objet convertis.
  2. Parcourez le tableau ids d'origine, en convertissant chaque ID en bson.ObjectId à l'aide de bson.ObjectIdHex.
  3. Mettez à jour votre requête pour utiliser des oids au lieu des identifiants d'origine.

Voici le code mis à jour pour les requêtes avec des ID d'objet :

<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>

En suivant ces étapes, vous pouvez récupérer efficacement tous les documents MongoDB correspondant au tableau _ID spécifié.

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!

Déclaration:
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