MongoDB is a free and open-source database management system that uses a document-oriented data model. It is one of the numerous nonrelational database technologies arose in the mid-2000s under the NoSQL banner. Here is how to use MongoDB with PHP:
Note: Before starting, make sure to have MongoDB installed and running on your machine.
Step 1: Installation of the PHP MongoDB Driver
To communicate between PHP and MongoDB, we need a special MongoDB driver. You can download and install it using the PECL command.
For Windows:
Download the appropriate .dll file from the PHP driver download page https://pecl.php.net/package/mongodb. Then add the extension into a php.ini file:
```
extension=php_mongodb.dll
```
For Linux:
Use command line to install PHP MongoDB driver.
```
sudo pecl install mongodb
```
Then, add the following line to your `php.ini` file.
```
extension=mongodb.so
```
Don’t forget to restart your server after the installation.
Step 2: Connect to MongoDB
To start using MongoDB with PHP, you must first create a new instance of the MongoDB client.
```
require ‘vendor/autoload.php’; // include Composer’s autoloader
$client = new MongoDB\Client(“mongodb://localhost:27017”);
echo “Connection to database successfully”;
```
Step 3: Select a Database
```
$db = $client->myDatabase;
echo “Database myDatabase selected”;
```
Step 4: Select a Collection
```
$collection = $db->myCollection;
echo “Collection selected succsessfully”;
```
Step 5: Insert a Document
```
$document = array(
“title” => “MongoDB”,
“description” => “database”,
“likes” => “100”,
“url” => “http://www.tutorialspoint.com/mongodb/”,
“by”, “tutorials point“
);
$collection->insertOne($document);
echo “Document inserted successfully”;
```
You can also update, delete documents and find documents in a similar way. Remember to use try-catch blocks for error handling.
Step 6: Close the Connection
\`\`\`php
$client->close();
\`\`\`
Now, with this knowledge, you can use MongoDB in your PHP projects. It’s always a good idea to look up the PHP MongoDB documentation for various operations and function details.