Deleting records in MongoDB is a common task. You might need to clear old data, remove outdated entries, or handle sensitive information for compliance. Let’s go step by step to see how you can delete documents from MongoDB using PHP.
Table of Content
Deleting a Single Document
Sometimes, you only need to delete a specific document. For instance, let’s say you want to delete a user with a specific email address. Here is how you can do it:
$deleteResult = $collection->deleteOne([
'email' => '[email protected]'
]);
echo "Deleted " . $deleteResult->getDeletedCount() . " document(s).";
In this example:
- The
deleteOnemethod is used to delete the first document matching the query. - The query specifies the criteria for deletion (
email => '[email protected]'). - The
getDeletedCountmethod returns the number of documents deleted.
Anyway, in the following section, you will learn how to delete multiple documents in MongoDB in PHP.
Deleting Multiple Documents
If you need to delete more than one document, such as all users who have been inactive for over a year, you can use the deleteMany method. Here is an example:
$deleteResult = $collection->deleteMany([
'last_active' => [
'$lt' => new MongoDB\BSON\UTCDateTime(strtotime('-1 year') * 1000)
]
]);
echo "Deleted " . $deleteResult->getDeletedCount() . " document(s).";
Here is the explanation for the above code:
- The
deleteManymethod deletes all documents matching the query. - The query uses the
$ltoperator to find documents wherelast_activeis earlier than one year ago.
Deleting documents may not always go smoothly. You need to handle potential errors. For instance, there could be connection issues or invalid queries. Here is how you can handle errors:
try {
$deleteResult = $collection->deleteOne([
'email' => '[email protected]'
]);
if ($deleteResult->getDeletedCount() === 0) {
echo "No documents matched the criteria.";
} else {
echo "Deleted " . $deleteResult->getDeletedCount() . " document(s).";
}
} catch (Exception $e) {
echo "Error: " . $e->getMessage();
}
This ensures that your script does not crash and provides feedback when no documents match the deletion criteria.
Let’s summarize it.
Wrapping Up
Here are the main points covered in this article about deleting documents in MongoDB using PHP:
- Deleting a Single Document:You can use the
deleteOnemethod to remove the first document that matches a given condition, such as deleting a user with a specific email address. - Deleting Multiple Documents:The
deleteManymethod allows you to remove all documents that match a query. This is useful for tasks like cleaning up records based on time or other criteria. - Error Handling:Always handle potential errors, such as connection issues or invalid queries, to ensure your application runs smoothly and provides helpful feedback to users.
Similar Reads
The array_key_last gives you the last key in an array and works with numeric and associative arrays in PHP. It…
Ever notice how some websites just seem to "know" you? That’s thanks to cookies! When you’re working with PHP, $_COOKIE becomes a…
PHP array_push lets you add one or more values to the end of an array. It appeared to make adding…
In PHP, there is this interesting operator known as "exclusive OR," or just XOR. It is somewhat of an underdog…
You may need to get part of a text when you work with text in PHP. The mb_substr gives you…
When working with big arrays in PHP, things can get messy. That is where php array_chunk() steps in by providing…
Escape characters appeared in PHP because some symbols in strings serve special purposes. For example, a quote can end a…
The NOT operator in PHP (!) provides the reverse of whatever truth value is given by a certain expression. It’s…
In this tutorial, we will explore a form of superglobal variable in PHP: $_ENV, which symbolizes how PHP reaches for…
Classes and objects are important parts of OOP in PHP. They help you organize your code so you can update…