diff --git a/README.md b/README.md index e66ea11..ccf3891 100644 --- a/README.md +++ b/README.md @@ -264,7 +264,7 @@ db.count({}, function (err, count) { * `query` is the same kind of finding query you use with `find` and `findOne` * `update` specifies how the documents should be modified. It is either a new document or a set of modifiers (you cannot use both together, it doesn't make sense!) * A new document will replace the matched docs - * The modifiers create the fields they need to modify if they don't exist, and you can apply them to subdocs. Available field modifiers are `$set` to change a field's value and `$inc` to increment a field's value. To work on arrays, you have `$push`, `$pop`, `$addToSet`, and the special `$each`. See examples below for the syntax. + * The modifiers create the fields they need to modify if they don't exist, and you can apply them to subdocs. Available field modifiers are `$set` to change a field's value, `$unset` to delete a field and `$inc` to increment a field's value. To work on arrays, you have `$push`, `$pop`, `$addToSet`, and the special `$each`. See examples below for the syntax. * `options` is an object with two possible parameters * `multi` (defaults to `false`) which allows the modification of several documents if set to true * `upsert` (defaults to `false`) if you want to insert a new document corresponding to the `update` rules if your `query` doesn't match anything @@ -310,6 +310,12 @@ db.update({ planet: 'Mars' }, { $set: { "data.satellites": 2, "data.red": true } }); }); +// Deleting a field +db.update({ planet: 'Mars' }, { $unset: { planet: true } }, {}, function () { + // Now the document for Mars doesn't contain the planet field + // You can unset nested fields with the dot notation of course +}); + // Upserting a document db.update({ planet: 'Pluton' }, { planet: 'Pluton', inhabited: false }, { upsert: true }, function (err, numReplaced, upsert) { // numReplaced = 1, upsert = true