MongoDB CRUD with PHP: Create, Read, Update, and Delete

PHP gives us the ability to work with MongoDB, highlighting the importance of CRUD (Create, Read, Update, Delete) operations for database management.

Here are some requirements to start using MongoDB with PHP:

  1. Installing MongoDB
  2. Installing PHP MongoDB Driver
  3. Setting Up a Development Environment ( XAMPP, Docker, or direct Apache/Nginx configurations )

Let us move on to the following section to understand what CRUD means and how to use it to access a MongoDB database.

What does Mean CRUD in MongoDB?

In MongoDB, the term CRUD refers to the four primary operations used to manage data: Create, Read, Update, and Delete:

  • The Create operation allows you to insert new documents into a collection. For example, you can add user data or any other type of information to the database.
  • Read operation which used to query and retrieve data from a database. You can filter, sort, and project the data as needed.
  • Update operation which helps us to modify existing documents in a collection. You can update specific fields or replace entire documents.
  • Delete operation to remove documents from a collection. You can specify criteria to delete specific documents or remove all documents in a collection.

Let’s see an example for each one.

Examples of CRUD in MongoDB and PHP

Create

The “Create” operation is all about adding new data to your database. Here is how you can add a document:

$collection = $database->selectCollection('users');
$result = $collection->insertOne(['name' => 'John Doe', 'email' => '[email protected]']);
echo "Inserted document with ID: " . $result->getInsertedId();

Before insert a new document to database, you need to select the users collection. Adding a document with the name and email fields, and the database automatically generates a unique _id for it. The getInsertedId() method then gives you that ID.

Read

The ‘Read’ operation is used to retrieve data from the database. Let’s see how to do it:

$collection = $database->selectCollection('users');
$result = $collection->findOne(['name' => 'John Doe']);
echo "Found User: " . $result['email'];

Here, you are asking the database to find the first document where the name is “John Doe.” The findOne method brings it back as an associative array, and you can access specific fields, like email.

Update

Updating means modifying an existing entry. Say you want to change John’s email. Here is how you do it:

$collection = $database->selectCollection('users');
$updateResult = $collection->updateOne(
    ['name' => 'John Doe'],
    ['$set' => ['email' => '[email protected]']]
);
echo "Updated " . $updateResult->getModifiedCount() . " document(s)";

This code searches for a document with the name “John Doe” and updates the email field to the new value. The getModifiedCount() method tells you how many documents were successfully updated.

Delete

The ‘Delete’ operation is responsible for removing data from the database. If John no longer needs to be in your collection, you can remove him like this:

$collection = $database->selectCollection('users');
$deleteResult = $collection->deleteOne(['name' => 'John Doe']);
echo "Deleted " . $deleteResult->getDeletedCount() . " document(s)";

Here, you are specifying the criteria (name: 'John Doe') for deletion, and the getDeletedCount() method confirms how many documents were removed.

Let’s summarize it.

Wrapping Up

That is the essence of CRUD operations in MongoDB: Create, Read, Update, and Delete. These four operations form the basis of how you interact with your database.

Here is a quick recap:

  • Create: Add new documents to your collection using methods like insertOne() or insertMany().
  • Read: Retrieve documents from the database with methods like findOne() or find() for more complex queries.
  • Update: Modify existing documents using methods like updateOne() or updateMany() with operators like $set or $inc.
  • Delete: Remove documents from your collection using methods like deleteOne() or deleteMany().

Each operation is a critical piece of database management, giving you full control over your data. 

Similar Reads

Get Last Insert ID in PHP with MySQL PDO and MySQLi

Keeping track of the last record inserted is often important. Whether you are managing user registrations, processing orders, or handling…

How to Update Documents in MongoDB Using PHP

Updating documents in MongoDB with PHP involves using the updateOne or updateMany methods from the MongoDB PHP library. These methods allow for precise updates,…

PHP Assign Function to Variable – Examples and Explanation

PHP variable function is a variable that is used to assign a function name with parentheses (). However, the PHP interpreter…

IF-Else: Executes the IF-Else Statement in PHP

Programming is all about choices. Everything you do in code boils down to answering a question: What should happen if…

PHP echo vs print: Key Differences & Usage Guide

Echo and print are foundational in displaying output in PHP, and though they might be similar in some ways, they…

PHP Escape Characters: How to Escape Special Characters

Escape characters appeared in PHP because some symbols in strings serve special purposes. For example, a quote can end a…

PHP $_POST: Handling Form Data in PHP

The term $_POST is quite familiar territory when one works with forms in PHP. This tutorial talks about what $_POST does, how to use…

PHP filter_list(): List Available Filters

PHP introduces the filter_list() function to give developers a way to check all available filters in the filter extension. This…

How to Delete Data in PHP MySQL

In this tutorials, we are going to explain the PHP MySQL Delete Data process with a simple, unique guide. By…

Understanding the PHP Operator Precedence

The PHP operator precedence refers to when doing a calculation for three or more numbers, they are calculating its values…

Previous Article

How to Connect PHP to MongoDB

Next Article

Learn How to Insert Documents in MongoDB Using PHP

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *


Subscribe to Get Updates

Get the latest updates on Coding, Database, and Algorithms straight to your inbox.
No spam. Unsubscribe anytime.