MongoDB-এ ডকুমেন্ট ইতিমধ্যে থাকলে আপডেট করবে, না থাকলে নতুন ইনসার্ট করবে — এই কাজটি upsert: true অপশন দিয়ে update() মেথডে করা হয়।
উদাহরণ ডেটা:
> db.insertIfNotExistsDemo.insertOne({"StudentName": "Mike", "StudentAge": 21});
> db.insertIfNotExistsDemo.insertOne({"StudentName": "Sam", "StudentAge": 22});
"David" না থাকলে ইনসার্ট করার কোয়েরি:
> var key = {"StudentName": "David"};
> var value = {"StudentName": "David", "StudentAge": 26};
> db.insertIfNotExistsDemo.update(key, value, {upsert: true});
ফলাফল: WriteResult({ "nMatched": 0, "nUpserted": 1, "nModified": 0, "_id": ObjectId("...") })
সব ডকুমেন্ট চেক: এখন Mike, Sam, David — তিনজনই থাকবে।
MongoDB 3.2+ এ updateOne()/updateMany() এবং upsert: true ব্যবহার করা প্রস্তাবিত।