Учебники

MongoDB — PHP

Чтобы использовать 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 () и т. Д. Работают так же, как описано выше.