Pour récupérer un document en fonction de son champ _id généré automatiquement, on peut utiliser la méthode FindOne fourni par la bibliothèque mongo-go-driver. Cependant, un utilisateur a récemment rencontré un problème où la requête fournie ne renvoyait aucun résultat malgré l'utilisation d'une valeur _id valide obtenue auprès de Mongo Express.
L'utilisateur a initialement tenté de créer un ObjectID à l'aide de bson.RawValue et a utilisé bson.EC. ObjectID, mais ceux-ci se sont révélés inefficaces en raison de l'absence à la fois du type EC dans le package bson et du package objectid dans mongo-go-driver.
Pour résoudre ce problème, il a été suggéré d'utiliser la fonction primitive.ObjectIDFromHex. , garantissant une déclaration ObjectID simple et efficace. Le code mis à jour ci-dessous a réussi à récupérer le document souhaité :
<code class="go">objID, _ := primitive.ObjectIDFromHex("5c7452c7aeb4c97e0cdb75bf") value := collection.FindOne(ctx, bson.M{"_id": objID})</code>
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!