Node.js MongoDB Insert Records


पिछले topic में आपने सीखा कि Node.js में MongoDB Database Collection(Table) कैसे create करते हैं , इस topic में आप सीखेंगे कि किसी Collections में कैसे records insert करते हैं।


अगर आपको याद होगा कि MySQL Table में Record Insert करने के लिए हमें Table में attributes / columns और उनके type को define करने की जरूरत होती थी ताकि उसी के according columns में data save कर सकें लेकिन MongoDB के साथ ऐसा नहीं है।


MongoDB Collection(Table) में record insert करने के लिए हमें MySQL Table की तरह attributes / columns and उनके type को define करने की जरूरत नहीं होती है। आप किसी भी type की value को directly save कर सकते हैं। लेकिन हमें यह बात ध्यान में रखनी है , कि column में किस type की value save की है , otherwise code में logical error के chances रहेंगे।

Node.js MongoDB Insert Record Example

MongoDB में record insert करने के लिए insertOne(Object , callback) method का use किया जाता है। पिछले topic में हमें एक users collection(table) create किया था , उसी collection (table) में records को insert करने की कोशिश करेंगे।

Copy Fullscreen Close Fullscreen
// import MongoClient from mongodb package
const { MongoClient } = require('mongodb');
// we have used online mongodb , you can use local MongoDB that's installed on your system.
const uri = "mongodb+srv://dbUser:dbPassword@cluster0.2n7fz.mongodb.net/node_mongodb?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true ,  connectTimeoutMS: 30000 ,  keepAlive: 1});
// make connection
client.connect(error => {
  if(error){
    console.log("MongoDB Connect Error", error.name, error.message);
  }else{
    // select database
    const database = client.db("node_mongodb");
    // select collection
    const users = database.collection("user");
    let new_user = {
      name : "Rahul Kumar",
      age : 24,
      address : "U.P. India",
      website : "learnhindituts.com"
    }

    // now insert
    users.insertOne(new_user, function(error, result){
      if(error){
        console.log("MongoDB Insert Error", error.name, error.message);
      }else{
        console.log("Record Insrted : ", result);
      }
    })
  }
});
C:\Users\HP\Desktop\workspace\nodejs>node app.js
Record Insrted :  {
  acknowledged: true,
  insertedId: new ObjectId("61ff45c010efe037815b2044")
}

Record successfully insert होने पर , हमें एक Object return होता है , जिसमे acknowledged, insertedId properties होती है।

{
  acknowledged: true,
  insertedId: new ObjectId("61ff45c010efe037815b2044")
}
  1. acknowledged: true इसका मतलब है , कि MongoDB driver को database में write operation के लिए server द्वारा acknowledge कर दिया गया है।

  2. insertedId: ObjectId Inserted record की id हैं।

Note : MongoDB में by default _id name की 24 words की randomly string id create होती है , तो हमें अलग से कोई primary key generate करने की जरूरत नहीं है।

Important

अगर आपने collection (table) create नहीं भी किया है , तो भी कोई problem नहीं है , record insert करते समय अगर collection नहीं मिलता तो automatically create हो जाता है।

Node.JS MongoDB Insert Multiple Records

Database में multiple records एक साथ insert करने के लिए insertMany(Array, callback) method का use किया जाता है।बस single Object की जगह आपको Objects का Array pass करना होता है।

Example
Copy Fullscreen Close FullscreenRun
const { MongoClient } = require('mongodb');
const uri = "mongodb+srv://dbUser:dbPassword@cluster0.2n7fz.mongodb.net/node_mongodb?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true ,  connectTimeoutMS: 30000 ,  keepAlive: 1});
client.connect(error => {
  if(error){
    console.log("MongoDB Connect Error", error.name, error.message);
  }else{
    const database = client.db("node_mongodb");
    const users = database.collection("users");

    // define Array of objects
    let store = [
      {
        name : "Mohit Kumar",
        age : 24,
        address : "U.P. India",
        website : null
      },
      {
        name : "Raju",
        age : 26,
        address : "Punjab",
        website : null
      },
    ] 

    // now insert
    users.insertMany(store, function(error, result){
      if(error){
        console.log("MongoDB Insert Error", error.name, error.message);
      }else{
        console.log("Records Insrted : ", result);
      }
    })
  }
});
C:\Users\HP\Desktop\workspace\nodejs>node app.js
Records Insrted :  {
  acknowledged: true,
  insertedCount: 2,
  insertedIds: {
    '0': new ObjectId("61ff4d6c3c7e813b57e3214a"),
    '1': new ObjectId("61ff4d6c3c7e813b57e3214b")
  }
}

multiple records एक साथ insert करने पर return में आपको object मिलेगा।

  1. acknowledged: true इसका मतलब है , कि MongoDB driver को database में write operation के लिए server द्वारा acknowledge कर दिया गया है।

  2. insertedCount: 2 number of inserted records , जिन्हे database में insert किया गया है।

  3. insertedIds: Object Object में inserted records की ids हैं।


I Hope, आपको समझ आया होगा कि, Node.JS में MongoDB database में कैसे single और multiple records को insert किया जाता है।

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook