Чтобы использовать MongoDB с PHP, вам нужно использовать PHP-драйвер MongoDB. Скачать драйвер с URL Скачать PHP Driver . Обязательно загрузите последнюю версию. Теперь распакуйте архив и поместите php_mongo.dll в каталог расширений PHP (по умолчанию «ext») и добавьте следующую строку в файл php.ini:
extension = php_mongo.dll
Установите соединение и выберите базу данных
Чтобы установить соединение, вам нужно указать имя базы данных, если база данных не существует, MongoDB создаст ее автоматически.
Ниже приведен фрагмент кода для подключения к базе данных.
<?php // connect to mongodb $m = new MongoClient(); echo "Connection to database successfully"; // select a database $db = $m->mydb; echo "Database mydb selected"; ?>
Когда программа будет выполнена, она даст следующий результат —
Connection to database successfully Database mydb selected
Создать коллекцию
Ниже приведен фрагмент кода для создания коллекции:
<?php // connect to mongodb $m = new MongoClient(); echo "Connection to database successfully"; // select a database $db = $m->mydb; echo "Database mydb selected"; $collection = $db->createCollection("mycol"); echo "Collection created succsessfully"; ?>
Когда программа будет выполнена, она даст следующий результат —
Connection to database successfully Database mydb selected Collection created succsessfully
Вставить документ
Чтобы вставить документ в MongoDB, используется метод insert () .
Ниже приведен фрагмент кода для вставки документа.
<?php // connect to mongodb $m = new MongoClient(); echo "Connection to database successfully"; // select a database $db = $m->mydb; echo "Database mydb selected"; $collection = $db->mycol; echo "Collection selected succsessfully"; $document = array( "title" => "MongoDB", "description" => "database", "likes" => 100, "url" => "http://www.tutorialspoint.com/mongodb/", "by" => "tutorials point" ); $collection->insert($document); echo "Document inserted successfully"; ?>
Когда программа будет выполнена, она даст следующий результат —
Connection to database successfully Database mydb selected Collection selected succsessfully Document inserted successfully
Найти все документы
Для выбора всех документов из коллекции используется метод find ().
Ниже приведен фрагмент кода для выбора всех документов:
<?php // connect to mongodb $m = new MongoClient(); echo "Connection to database successfully"; // select a database $db = $m->mydb; echo "Database mydb selected"; $collection = $db->mycol; echo "Collection selected succsessfully"; $cursor = $collection->find(); // iterate cursor to display title of documents foreach ($cursor as $document) { echo $document["title"] . "\n"; } ?>
Когда программа будет выполнена, она даст следующий результат —
Connection to database successfully Database mydb selected Collection selected succsessfully { "title": "MongoDB" }
Обновить документ
Чтобы обновить документ, вам нужно использовать метод update ().
В следующем примере мы обновим заголовок вставленного документа в MongoDB Tutorial . Ниже приведен фрагмент кода для обновления документа.
<?php // connect to mongodb $m = new MongoClient(); echo "Connection to database successfully"; // select a database $db = $m->mydb; echo "Database mydb selected"; $collection = $db->mycol; echo "Collection selected succsessfully"; // now update the document $collection->update(array("title"=>"MongoDB"), array('$set'=>array("title"=>"MongoDB Tutorial"))); echo "Document updated successfully"; // now display the updated document $cursor = $collection->find(); // iterate cursor to display title of documents echo "Updated document"; foreach ($cursor as $document) { echo $document["title"] . "\n"; } ?>
Когда программа будет выполнена, она даст следующий результат —
Connection to database successfully Database mydb selected Collection selected succsessfully Document updated successfully Updated document { "title": "MongoDB Tutorial" }
Удалить документ
Чтобы удалить документ, вам нужно использовать метод remove ().
В следующем примере мы удалим документы с заголовком MongoDB Tutorial . Ниже приведен фрагмент кода для удаления документа.
<?php // connect to mongodb $m = new MongoClient(); echo "Connection to database successfully"; // select a database $db = $m->mydb; echo "Database mydb selected"; $collection = $db->mycol; echo "Collection selected succsessfully"; // now remove the document $collection->remove(array("title"=>"MongoDB Tutorial"),false); echo "Documents deleted successfully"; // now display the available documents $cursor = $collection->find(); // iterate cursor to display title of documents echo "Updated document"; foreach ($cursor as $document) { echo $document["title"] . "\n"; } ?>
Когда программа будет выполнена, она даст следующий результат —
Connection to database successfully Database mydb selected Collection selected succsessfully Documents deleted successfully
В приведенном выше примере второй параметр имеет логический тип и используется для поля justOne метода remove () .
Оставшиеся методы MongoDB findOne (), save (), limit (), skip (), sort () и т. Д. Работают так же, как описано выше.