Open In App

Mongoose | findOneAndReplace() Function

Last Updated : 20 May, 2020
Like Article

The findOneAndReplace() function is used to find a matching element, replaces it with the provided element, and passes the returned doc to the callback.

Installation of mongoose module:

  1. You can visit the link to Install mongoose module. You can install this package by using this command.
    npm install mongoose
  2. After installing mongoose module, you can check your mongoose version in command prompt using the command.
    npm version mongoose
  3. After that, you can just create a folder and add a file, for example index.js. To run this file you need to run the following command.
    node index.js

Filename: index.js

const mongoose = require('mongoose');
// Database connection
    useNewUrlParser: true,
    useCreateIndex: true,
    useUnifiedTopology: true
// User model
const User = mongoose.model('User', {
    name: { type: String },
    age: { type: Number }
var new_user = {
    name: "ABC",
// Find document matching the condition(age >= 5)
// and replace first document with above new_user
// This function has 4 parameters i.e. filter,
// replacement, options, callback
User.findOneAndReplace({age: {$gte:5} }, 
         new_user, null, function (err, docs) {
    if (err){
        console.log("Original Doc : ", docs);

Steps to run the program:

  1. The project structure will look like this:
    project structure
  2. Make sure you have installed mongoose module using following command:
    npm install mongoose
  3. Below is the sample data in the database before the function is executed, You can use any GUI tool or terminal to see the database, like we have used Robo3T GUI tool as shown below:
  4. Run index.js file using below command:
    node index.js

  5. After the function is executed, You can see the database as shown below:
    new Database

So this is how you can use the mongoose findOneAndReplace() function which finds a matching document, replaces it with the provided doc, and passes the returned doc to the callback.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads