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
Libérer: 2024-10-30 12:25:03
original
720 Les gens l'ont consulté

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

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