Last Updated: February 25, 2016
·
9.115K
· imarco

Mongodb $set $unset

$set

Use the $set operator to set a particular value. The $set operator requires the following syntax:

db.collection.update( { field: value1 }, { $set: { field1: value2 } } );

This statement updates in the document in collection where field matches value1 by replacing the value of the field field1 with value2. This operator will add the specified field or fields if they do not exist in this document or replace the existing value of the specified field(s) if they already exist.

$unset

The $unset operator deletes a particular field. Consider the following example:

db.collection.update( { field: value1 }, { $unset: { field1: "" } } );

The above example deletes field1 in collection from documents where field has a value of value1. The value of the field in the $unset statement (i.e. "" above) does not impact the operation.

If documents match the initial query (e.g. { field: value1 } above) but do not have the field specified in the $unset operation (e.g. field1), then the statement has no effect on the document.

1 Response
Add your response

Notice that the update methods you presented above will update only the first matched document.
To update all matching documents you need to add third parameter: {multi: true}

over 1 year ago ·