Mit der Einführung von PHP7 wird der alte Mongodb-Treiber nicht mehr unterstützt.
Der neue verfügbare Treiber ist im Vergleich zum vorherigen etwas langsamer, sodass die Arbeit damit etwas kompliziert sein kann.
Dafür wurde diese Bibliothek konzipiert.
!!! AUSFÜHRLICHE RICHTLINIEN FINDEN SIE IM WIKI UNTER: https://github.com/ThomasSquall/PHP7MongoDriver/wiki
Die Verwendung von Composer ist ganz einfach. Führen Sie einfach den folgenden Befehl aus:
$ composer require thomas-squall/php7-mongo-driver
Bevor Sie diese Bibliothek verwenden, sollten Sie sicherstellen, dass PHP7.0 oder Major und der MongoDb-Treiber von pecl installiert sind.
Für diejenigen, die eine Linux-Distribution verwenden (stellen Sie sicher, dass pecl installiert ist), führen Sie einfach Folgendes aus:
$ sudo pecl install mongodb
Danach sollten Sie die folgende Zeichenfolge einfügen
extension=mongodb.so
In Ihrer php.ini
Zunächst müssen Sie eine Verbindungszeichenfolge definieren.
Das Format für Verbindungszeichenfolgen ist:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
Weitere Informationen finden Sie unter dem Link: https://docs.mongodb.com/manual/reference/connection-string/
Nach der Definition müssen Sie einen neuen Adapter instanziieren:
use MongoDriver Adapter ;
// Enstablish a connection.
$ adapter = new Adapter ();
$ adapter -> connect ( CONNECTION_STRING );
An dieser Stelle möchten Sie eine Datenbank auswählen, in der Sie Ihre Abfrage durchführen möchten:
$ adapter -> selectDB ( ' myDatabase ' );
HINWEIS: Sie können eine Datenbank direkt im Konstruktor auswählen und dabei den Datenbanknamen als zweiten Parameter übergeben.
Sobald wir die Datenbank ausgewählt haben, können wir einfach nach der gewünschten Sammlung fragen:
$ items = $ adapter -> find ( ' myCollection ' );
Sie können Ihre Abfrage auch filtern:
use MongDriver Filter ;
$ filters =
[
new Filter ( ' myField1 ' , ' myValue1 ' , Filter:: IS_EQUALS ),
new Filter ( ' myField2 ' , [ ' myValue2 ' , ' myValue3 ' ], Filters:: IS_IN_ARRAY )
];
$ items = $ adapter -> find ( ' myCollection ' , $ filters );
Wenn Sie ein Element einfügen möchten, müssen Sie einfach ein Array oder ein Objekt an die Einfügefunktion übergeben, die die Sammlung angibt:
$ item = new Person ();
$ item -> name = ' Thomas ' ;
$ item -> surname = ' Cocchiara ' );
// or: $item = ['name' => 'Thomas', 'surname' => 'Cocchiara'];
$ adapter -> insert ( ' people ' , $ item );
Ich hoffe, Sie finden diese Bibliothek nützlich.
Bitte teile es und gib mir ein Feedback :)
Thomas