Une introduction à la Php7 + mongodb classe tripartite

Source : Internet
Auteur : utilisateur
Cet article de vous présenter le contenu parle un Php7 + mongodb introduction de trois voies, il y a une certaine valeur de référence, il est nécessaire pour les amis peuvent voir un peu, j’espère pouvoir vous aider.

Le projet a été mis à niveau à php7 en raison des besoins du projet. Cependant, après la mise à niveau, il a été constaté que l’extension MONGO n’était pas disponible. Php7.0 a pris en charge uniquement les extensions de MongoDB. Le pilote de longues MongoDB est plus complex à utiliser que l’extension Monmgo, bavard. J’ai cherché pour elle sur l’internet pendant une longue période. Enfin trouvé une classe plus concise de MongoDB. La grammaire est similaire à celle de MONGO. Claire, naturelle.

Projet adresse https://github.com/mongodb/mongo-php-library

Parce que le projet est a contribué par des amis étrangers. Il n’y a donc aucun document très clair à lire. Certaines méthodes communes sont triés ici.

Obtenez une instance

$uri = "mongodb://username:password@host/database";$client = new \MongoDB\Client($uri);

Obtenez la collection

$collection = $client->selectCollection('test','test');

Obtenir un morceau de données

$data = $collection->findOne(['id'=>1]);

Obtenir des données multiples

$Where = [' type ' = > 1] ; $options = array (' Projection ' = > array (' ID « = > 1, » âge « = > 1, » nom ' = > -1), / / spécifié Retours terrain 1 indique que le retour-1 signifie ne pas revenir « trier » = > array (' ID ' = > -1), / / préciser le champ de tri « limite » = > 10, / / préciser le nombre de barres retourné « skip » = > 0, Préciser la position de départ) ; $data = $collection - > find ($where, $options) -> toarray () ; Var_dump ($data) ;

Aller à lourdes.

$fileName = 'name';$where = ['id' => ['$lt' => 100]]$ret = $this->collection->distinct($fileName,$where);

Insérer un élément de données

$Data = array (' ID « = > 2, » âge ' = >, « name » = > « Zhang San ») ; $ret = $collection -> insertone ($data) ; $id = $ret - ≫ GetInsertedId () ;

Insertions en bloc

$Data = array ([' ID « = > 1, » âge ' = > s, « name » = > ' 1xiaoli '], [' ID « = > 2, » âge ' = >, « name » = > ' 2xiaoli '], [' ID « = > 3, » âge ' = > s, « name » = > ' 3xiaoli '], [' ID « = > 4, » âge ' = >, « name » = > ' 4xia Oli '], [' ID « = > 5, » âge ' = > s, « name » = > ' 5xiaoli '], [' ID « = > 6, » âge ' = >, « name » = > ' 6xiaoli ' ],) ; $Ret = $collection -> insertmany ($data) ; # return Idvar_dump insérer ($ret -> getinsertedids ()) ;

Mise à jour un

$ret = $collection->updateOne(array('id' => 2), array('$set' => array('age' => 56)));

Mise à jour plus d’un

$ret = $collection->updateMany(array('id' => ['$gt' => 1]), array('$set' => array('age' => 56, 'name' => 'x')));

Supprimer une

$ret = $collection->deleteOne(array('id' => 2));

Supprimer plusieurs barrettes

$collection->deleteMany(array('id' => array('$in' => array(1, 2))));

Polymérisation

$Ops = [[' $match ' = > [' type ' = > [' $in ' = > [2,4]]], [' $sort ' = > [' List.create_time ' = & gt ; ordre de //sort-1] ne peut être modifié, sinon il engendrera triage confusion, faire attention au tri avant pagination], [' $skip ' = > 0], [' $limit ' = > 20000],] ; $data = $Collection -> agrégat ($ops) ; foreach ($data comme $document) {var_dump ($document) ;}
Article associé

Nous contacter

Le contenu de cette page provient d'Internet et ne reflète pas l'opinion d'Alibaba Cloud ; les produits et services mentionnés sur cette page n'ont aucune relation avec Alibaba Cloud. Si le contenu de la page vous semble problématique, veuillez nous écrire un courriel, nous traiterons le problème dans les 5 jours suivant la réception de votre message.

Si vous constatez des cas de plagiat de la part de la communauté, veuillez envoyer un courriel à : info-contact@alibabacloud.com et fournir des preuves pertinentes. Un membre de notre équipe vous contactera dans les 5 jours ouvrables.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.