MongoDB-এ একসাথে একাধিক ডকুমেন্ট ইনসার্ট করার জন্য insert() (লিগেসি) বা আধুনিক insertMany() মেথড ব্যবহার করা হয়। এটি বাল্ক ইনসার্টের জন্য দক্ষ এবং অটোমিক (atomic) নয় কিন্তু অর্ডার্ড (ordered) ডিফল্টে।
উদাহরণ: insert() ব্যবহার করে একাধিক ইনসার্ট (লিগেসি)
> db.demo689.insert([
{ ClientName: "Chris", "ClientAge": 34, "ClientCountryName": "US" },
{ ClientName: "David", "ClientAge": 28, "ClientCountryName": "UK" },
{ ClientName: "Bob", "ClientAge": 39, "ClientCountryName": "AUS" }
]);
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 3,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
সব ডকুমেন্ট দেখানো
> db.demo689.find();
আউটপুট:
{ "_id" : ObjectId("5ea580dfa7e81adc6a0b3967"), "ClientName" : "Chris", "ClientAge" : 34, "ClientCountryName" : "US" }
{ "_id" : ObjectId("5ea580dfa7e81adc6a0b3968"), "ClientName" : "David", "ClientAge" : 28, "ClientCountryName" : "UK" }
{ "_id" : ObjectId("5ea580dfa7e81adc6a0b3969"), "ClientName" : "Bob", "ClientAge" : 39, "ClientCountryName" : "AUS" }
আধুনিক সিনট্যাক্স: insertMany() (MongoDB 3.2+)
> db.demo689.insertMany([
{ ClientName: "Chris", ClientAge: 34, ClientCountryName: "US" },
{ ClientName: "David", ClientAge: 28, ClientCountryName: "UK" },
{ ClientName: "Bob", ClientAge: 39, ClientCountryName: "AUS" }
], { ordered: true })
ordered: true(ডিফল্ট) — ক্রমাগত ইনসার্ট; একটা ফেইল করলে বাকি রুকায়।ordered: false— আনঅর্ডার্ড; একটা ফেইল করলে বাকি চালিয়ে যায় (দ্রুত)।
রেজাল্ট অবজেক্ট
nInserted— সফলভাবে ইনসার্ট হওয়া ডকুমেন্ট সংখ্যা।insertedIds— ইনসার্ট হওয়া ডকুমেন্টগুলোর_idগুলো।writeErrors— কোনো এরর থাকলে তালিকা।
মূল পয়েন্টসমূহ
insertMany()বাল্ক ইনসার্টের জন্য স্ট্যান্ডার্ড মেথড।insertOne()একক ডকুমেন্টের জন্য।insert()ডিপ্রিকেটেড (deprecated) — নতুন কোডে ব্যবহার করবেন না।- বড় ব্যাচে (1000+ ডকুমেন্ট) ছোট ছোট ব্যাচে ভাগ করে ইনসার্ট করুন মেমরি ও টাইমআউট এড়াতে।
_idনা দিলে MongoDB অটোমেটিক ObjectId জেনারেট করবে।