Example update document in mongoDB with nodejs

Update Document

You can update a record, or document as it is called in MongoDB, by using the updateOne() method.

The first parameter of the updateOne() method is a query object defining which document to update.

Note: If the query finds more than one record, only the first occurrence is updated.

The second parameter is an object defining the new values of the document.

Example: Update the document with the address "Valley 345" to name="name15" and address="Canyon 123"

 

var MongoClient = require('mongodb').MongoClient;

var url = "mongodb://192.168.1.122:27017/";

MongoClient.connect(url, function(err, db) {

  if (err) throw err;

  var dbo = db.db("mydb");

  var myquery = { address: "Valley 345" };

  var newvalues = { $set: {name: "Mickey", address: "Canyon 123" } };

  dbo.collection("customers").updateOne(myquery, newvalues, function(err, res) {

    if (err) throw err;

    console.log("1 document updated");

    db.close();

  });

});

 

Run and result:

 

C:\Nodejs>node mongodbUpdateOneDocument.js

1 document updated

 

Update Many Documents

To update all documents that meets the criteria of the query, use the updateMany() method.

Example: Update all documents where the name starts with the letter "S"

var MongoClient = require('mongodb').MongoClient;

var url = "mongodb://192.168.1.122:27017/";

MongoClient.connect(url, function(err, db) {

  if (err) throw err;

  var dbo = db.db("mydb");

  var myquery = { address: /^S/ };

  var newvalues = {$set: {name: "Minnie"} };

  dbo.collection("customers").updateMany(myquery, newvalues, function(err, res) {

    if (err) throw err;

    console.log(res.result.nModified + " document(s) updated");

    console.log(res.result);

    db.close();

  });

});

 

Run and result:

 

C:\Nodejs>node mongodbUpdateManyDocument.js

2 document(s) updated

{ n: 2, nModified: 2, ok: 1 }