আপনি MongoDB-তে রেকর্ড সন্নিবেশ করতে update() ফাংশন ব্যবহার করতে পারেন যদি এটি বিদ্যমান না থাকে। ধারণাটি বুঝতে, আসুন ডকুমেন্টের সাথে একটি সংগ্রহ তৈরি করি। একটি নথির সাথে একটি সংগ্রহ তৈরি করার প্রশ্নটি নিম্নরূপ -
> db.insertIfNotExistsDemo.insertOne({"StudentName":"Mike","StudentAge":21});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c7eec7b559dd2396bcfbfc2")
}
> db.insertIfNotExistsDemo.insertOne({"StudentName":"Sam","StudentAge":22});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c7eec97559dd2396bcfbfc3")
} Find() পদ্ধতির সাহায্যে একটি সংগ্রহ থেকে সমস্ত নথি প্রদর্শন করুন। প্রশ্নটি নিম্নরূপ -
> db.insertIfNotExistsDemo.find().pretty();
The following is the output:
{
"_id" : ObjectId("5c7eec7b559dd2396bcfbfc2"),
"StudentName" : "Mike",
"StudentAge" : 21
}
{
"_id" : ObjectId("5c7eec97559dd2396bcfbfc3"),
"StudentName" : "Sam",
"StudentAge" : 22
} এখানে একটি রেকর্ড সন্নিবেশ করার জন্য ক্যোয়ারী আছে যদি এটি ইতিমধ্যেই বিদ্যমান না থাকে −
> key = {"StudentName":"David"}
{ "StudentName" : "David" }
> value = {"StudentName":"David","StudentAge":26}
{ "StudentName" : "David", "StudentAge" : 26 }
> db.insertIfNotExistsDemo.update(key, value, upsert=true); নিচের আউটপুট −
WriteResult({
"nMatched" : 0,
"nUpserted" : 1,
"nModified" : 0,
"_id" : ObjectId("5c7eecd4c743760e97af8261")
}) আমাদের একটি সংগ্রহ থেকে সব নথি পরীক্ষা করা যাক. প্রশ্নটি নিম্নরূপ -
> db.insertIfNotExistsDemo.find().pretty();
নিচের আউটপুট −
{
"_id" : ObjectId("5c7eec7b559dd2396bcfbfc2"),
"StudentName" : "Mike",
"StudentAge" : 21
}
{
"_id" : ObjectId("5c7eec97559dd2396bcfbfc3"),
"StudentName" : "Sam",
"StudentAge" : 22
}
{
"_id" : ObjectId("5c7eecd4c743760e97af8261"),
"StudentName" : "David",
"StudentAge" : 26
} নমুনা আউটপুট দেখুন, "StudentName":"David" এবং "StudentAge":26 সফলভাবে সন্নিবেশ করা হয়েছে।