Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Verwendung des MongoDB-Treibers in PHP7

Einführung in die Verwendung des MongoDB-Treibers in PHP7

不言
不言Original
2018-07-05 14:29:224957Durchsuche

Dieser Artikel stellt hauptsächlich die Verwendung des MongoDB-Treibers in PHP7 vor. Jetzt kann ich ihn mit allen teilen, die ihn benötigen.

php7 kann nur Mongodb verwenden. Treiber zum Fahren von MongoDB.

Verwenden Sie den Mongodb-Treiber, um eine Verbindung zur Datenbank herzustellen

Als ich anfing, den Mongodb-Treiber zu verwenden, lehnte ich ab. Als ich mir die offizielle Dokumentation ansah, sah ich nur eine Reihe von Klassen und unverständlichen Mitgliedsmethoden. Nach langem Stöbern konnte ich keine Schlüsselwörter wie Suchen, Aktualisieren, Löschen usw. finden und sogar etwas kompliziertere wie Replikatsätze und Benutzerauthentifizierung waren nicht bekannt. Wie man eine Verbindung zur Datenbank herstellt.
Glücklicherweise fehlt die Dokumentation nicht vollständig. Klicken Sie auf MongodbDriverManger::constructor und sehen Sie, dass es mehrere Konstruktionsparameter

  • $uri in Form von mongo://[host:port,host:port,host:port]/[dbname]?[username=aa&password=bb&replicaSet=cc]

  • Es ist die Parameterfolge nach ? oben, die hier geschrieben werden kann $uriOptions

  • Andere Optionen wie Standard lesen und Parameter schreiben $driverOptions

MongodbDriver CURD-Operation

Hier dachte ich zunächst, dieser Treiber sei menschenfeindlich. Es gibt keine Wörter wie Suchen, Aktualisieren, Löschen usw. Im Dokument gibt es nur eine

-Klasse und ein Command. Query类Die Abfrageklasse ist etwas besser und bietet einige Abfrageoptionen.
Tatsächlich können alle Vorgänge in der Mongo-Datenbank über die Command-Klasse ausgeführt werden. In der PHP-Treiberdokumentation werden keine spezifischen
eingeführt. commandOptionsGerade weil ich neu bei Mongodb bin, habe ich das Gefühl, dass dieser Treiber äußerst seltsam und menschenfeindlich ist, und es gibt keinen Anfang.

Der Schlüssel zur Verwendung dieses Treibers besteht darin, die Command-Klasse zu verwenden, um einen commandOption
Und dies erfordert, dass wir aus der offiziellen Dokumentation von etwas darüber erfahren mongodbcommandOptionMONGODB-HANDBUCH – Datenbankbefehle
Alle Vorgänge, das Hinzufügen, Löschen, Ändern, Aggregationssortieren, Datenbankstatus, Benutzerauthentifizierung usw. von Daten können über diese Befehle ausgeführt werden. Hier ein paar Beispiele

  • Mit der Datenbank verbinden

  • $this->_conn = new MongoDB\Driver\Manager('mongodb://localhost:27017/test');
    $this->_db = 'test';
    // execute command.
    function exec($opts) {
        $cmd = new MongoDB\Driver\Command($opts);
        $res =  $this->_conn->executeCommand($this->_db, $cmd);
        return $res->toArray();
    }
  • Bedingte Abfrage, Rückgabe bei Bedarf

  • $cmd = [
        'find' => 'table', // collection表名
        'filter' => ['_id' => ['$gte' => 10, '$lt' => 20]],
        'projection' => ['name' => 1, 'email' => 1]
    ];
    $res = $this-exec($cmd);
  • Datensatz ändern

  • $cmd = [
        'update' => 'table', // collection 表名
        'updates' => [
            ['q' => [_id => ['$lt' => 10]], 'u' => ['status' => 0], 'upsert'=>0,'multi'=>1],
            ['q' => [_id => ['$gte' => 10]], 'u' => ['status' => 1], 'upsert'=>0,'multi'=>1],
        ],
        'ordered' => 1, // 是否依次执行updates语句,true表示执行失败后继续后面的语句,false 表示一旦失败立即返回
    ]
  • Datensatz löschen,

    Limit kann nur 1 sein oder 0!

  • $cmd = [
        'delete' => 'table', // collection 表名
        'deletes' => [
            ['q' => [_id => ['$lt' => 5]], 'limit' => 0], // 0表示所有,1表示删除1行
        ]
    ]
  • Daten einfügen

  • $cmd = [
        'delete' => 'table', // collection 表名
        'deletes' => [
            ['q' => [_id => ['$lt' => 5]], 'limit' => 0], // 0表示所有,1表示删除1行
        ]
    ]
  • Gruppieren, sortieren

  • $cmd = [
        'aggregate' => 'table', // collection 表名
        'pipeline' => [
            '$group' => 'class',
            '$sort' => 'score'
        ]
    ]
  • Datenbankstatus lesen

  • $cmd = [
        'replSetGetStatus' => 1,
    ]
Hilfsklasse BSON

Am nützlichsten ist natürlich

und MongoDBBSONJavascript übergeben jeweils die Javascript-Skriptfunktion und verwenden die Objekt-ID von Mongodb. MongoDBBSONObjectId

Ausnahme

Alle von MongoDBDriver generierten Ausnahmen können mit erfasst werden.

MongoDBDriverExceptionException

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt , mehr Bitte beachten Sie die chinesische PHP-Website für verwandte Inhalte!

Verwandte Empfehlungen:

PHP verwendet Azure Storage Blob zum Hochladen von Dateien

imagettfbbox und imagettftext in PHP brechen Text automatisch um und Bilder Methode

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung des MongoDB-Treibers in PHP7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn