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, whether targeting a single document or multiple ones.

Updating a Single Document

The updateOne method is ideal for updating a single document. Specify a filter to identify the document and an update array to define changes.

$filter = ['username' => 'john_doe'];
$update = ['$set' => ['email' => '[email protected]']];

$result = $collection->updateOne($filter, $update);

echo $result->getModifiedCount() . " document updated.";

The filter targets documents with a specific username, and the $set operator modifies the email field.

Let’s move on to the following section on how to update multiple documents at once.

Updating Multiple Documents

When multiple documents need updates, use updateMany. This method applies changes to all matching documents.

$filter = ['status' => 'inactive'];
$update = ['$set' => ['status' => 'active']];

$result = $collection->updateMany($filter, $update);

echo $result->getModifiedCount() . " documents updated.";

This example updates the status field for all documents marked as inactive. Let’s see how we can do that using additional operators in the section below.

Using Additional Update Operators

MongoDB supports various update operators, such as $inc$push, and $unset. These operators enable advanced update operations.

Incrementing a value

$filter = ['views' => ['$exists' => true]];
$update = ['$inc' => ['views' => 1]];

$result = $collection->updateOne($filter, $update);
echo $result->getModifiedCount() . " document updated.";

It increments the views field for a document in a MongoDB collection. The $filter checks if the views field exists using the $exists operator. The $update uses the $inc operator to increase the views value by 1. The updateOne method applies the update to the first matching document, and the getModifiedCount() method returns the number of documents modified, which is then displayed.

Adding elements to an array

$filter = ['username' => 'john_doe'];
$update = ['$push' => ['tags' => 'new_tag']];

$result = $collection->updateOne($filter, $update);
echo $result->getModifiedCount() . " document updated.";

It adds a new value to the tags array field in a MongoDB document. The $filter targets a document where the username is john_doe. The $update uses the $push operator to append 'new_tag' to the tags array. The updateOne method applies the update to the first matching document, and the getModifiedCount() method outputs the number of documents modified.

Let’s summarize it.

Wrapping Up

Updating documents in MongoDB allows you to modify data in a simple way, So if you need to adjust single fields or update multiple records at once. It is an important for managing dynamic databases.

Here is a quick recap of what we covered:

  • Updating a single document: Using updateOne with a filter and update array to target and modify specific fields.
  • Updating multiple documents: Using updateMany to apply changes to all matching documents.
  • Using additional operators: Employing $inc$push, and other operators for advanced update operations.

    Similar Reads

    Traits in PHP: What They Are & Examples

    PHP introduced traits to solve a problem with code reuse. Before traits, developers used inheritance and interfaces to share functionality…

    PHP Variable Scope: Local, Global & Static

    The variable scope in PHP refers to the variables, functions, and classes that can be accessed within different parts of…

    Inheritance in PHP: Share Code from Class to Class & Examples

    PHP developers copied and pasted code across multiple files before inheritance came, which made updates difficult. They updated functions in…

    Understanding the PHP Exclusive OR (XOR) Operator

    In PHP, there is this interesting operator known as "exclusive OR," or just XOR. It is somewhat of an underdog…

    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…

    PHP $_ENV: Manage Environment Variables

    In this tutorial, we will explore a form of superglobal variable in PHP: $_ENV, which symbolizes how PHP reaches for…

    PHP str_replace Function: How it Works with Examples

    If you find a word that does not fit and want to fix it. You can use the PHP str_replace…

    PHP XML Expat Parser: A Complete Guide

    If you've ever tried to pull data from an XML file, you know it can be a bit tricky at…

    PHP function_exists: Avoid Function Redeclaration

    The function_exists() function in PHP checks whether a given function is defined or not. The function_exists() function works for both…

    PHP Predefined Constants Explained Simply

    PHP has a number of predefined constants that give you some information about the language and its environment. You can…

    Previous Article

    Find Documents in MongoDB Using PHP

    Next Article

    How to Delete Documents in MongoDB with 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.