Maison > php教程 > PHP开发 > Méthode de bibliothèque PHP pour interroger l'ID du document dans Mongodb

Méthode de bibliothèque PHP pour interroger l'ID du document dans Mongodb

高洛峰
Libérer: 2016-12-23 12:58:06
original
1467 Les gens l'ont consulté

Mon nouveau travail chez IBM est en tant que membre de l'équipe de support au développement. Cela signifie que je passe la plupart de mon temps à travailler avec des bases de données. Dans mon flux de travail, j'ai passé du temps avec MongoDB, qui est une base de données de documents. Mais j'ai rencontré quelques problèmes lors de la récupération des enregistrements par ID. Le code ci-dessous est la version finale, je peux le citer directement lorsque je rencontrerai des problèmes similaires à l'avenir. Si vous en avez également besoin, j'espère que ce qui suit vous sera utile.

MongoDB et identifiants

Lorsque j'insère des données dans une collection, je ne définis pas le champ _id si ce champ est vide, alors MongoDB générera automatiquement un identifiant ; à utiliser, ce qui est très agréable pour moi. Cependant, cela crée des problèmes lorsque j'utilise des identifiants générés par MongoDB.

Si j'utilise db.posts.find() pour récupérer mes données (ma collection s'appelle posts), alors les données ressemblent à ceci :

{ "_id " : ObjectId("575038831661d710f04111c1"), ...

Donc, si je souhaite récupérer les données à l'aide de l'ID, je dois également inclure la méthode ObjectId pour accéder à l'ID.

Utilisation de la bibliothèque PHP

Lorsque j'ai utilisé PHP pour ce faire, je n'ai pas trouvé d'exemple approprié lors de l'utilisation de cette nouvelle bibliothèque PHP (Cependant, cette bibliothèque de classes est en effet une très bonne bibliothèque). Dans les versions précédentes, cette bibliothèque était implémentée à l'aide d'une classe appelée MongoID. Mais je sais que ce n’est pas ce que je veux – mais je peux réellement inspecter le document grâce à ce cours. Il est donc utile de connaître cette méthode si vous ne pouvez trouver que des exemples du code précédent.
Pour transmettre un identifiant à MongoDB à l'aide de cette bibliothèque PHP, vous devez construire une instance MongoDBBSONObjectID. L'exemple suivant récupère des documents dans un blog par ID de document.

$post = $posts->findOne(["_id" => new MongoDBBSONObjectID($id)]);

Alors, je vais pour mettre à jour cet enregistrement - ce billet de blog contient également des commentaires intégrés dans cet enregistrement, alors ajoutez un tableau à la collection de commentaires dans cet enregistrement avec le _id,

$result = $posts->updateOne(
   ["_id" => new MongoDB\BSON\ObjectID($id)],
   ['$push' => [
"comments" => $new_comment_data
      ]
]);
Copier après la connexion

Enfin, j’espère que cet article sera utile à tout le monde. Merci à tous pour votre soutien à ce site !

Pour plus de bibliothèques PHP, veuillez prêter attention au site Web PHP chinois pour des articles connexes sur la façon d'interroger l'ID de document dans Mongodb !


Étiquettes associées:
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
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal