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) ;}