এখানে, $push নেস্টেড অ্যারেতে নতুন নথি যোগ করতে ব্যবহার করা যেতে পারে। উপরের $push ধারণাটি বোঝার জন্য, আসুন নেস্টেড অ্যারে ডকুমেন্ট সহ একটি সংগ্রহ তৈরি করি। নথির সাথে একটি সংগ্রহ তৈরি করার প্রশ্নটি নিম্নরূপ:
>db.nestedArrayDemo.insertOne({"EmployeeName":"Larry","EmployeeSalary":9000,"EmployeeDetails": [{"EmployeeDOB":new Date('1990-01-21'),"EmployeeDepartment":"ComputerScience","EmployeeProject": [{"Technology":"C","Duration":6},{"Technology":"Java","Duration":7}]}]});
নিম্নলিখিত আউটপুট:
{ "acknowledged" : true, "insertedId" : ObjectId("5c6d73090c3d5054b766a76e") }
এখন আপনি find() পদ্ধতির সাহায্যে একটি সংগ্রহ থেকে নথি প্রদর্শন করতে পারেন। প্রশ্নটি নিম্নরূপ:
> db.nestedArrayDemo.find().pretty();
নিম্নলিখিত আউটপুট:
{ "_id" : ObjectId("5c6d73090c3d5054b766a76e"), "EmployeeName" : "Larry", "EmployeeSalary" : 9000, "EmployeeDetails" : [ { "EmployeeDOB" : ISODate("1990-01-21T00:00:00Z"), "EmployeeDepartment" : "ComputerScience", "EmployeeProject" : [ { "Technology" : "C", "Duration" : 6 }, { "Technology" : "Java", "Duration" : 7 } ] } ] }
এখানে নতুন ডকুমেন্ট যোগ করার জন্য নেস্টেড অ্যারেতে $push এর ডেমো রয়েছে। প্রশ্নটি নিম্নরূপ:
>db.nestedArrayDemo.update({"_id":ObjectId("5c6d73090c3d5054b766a76e"), "EmployeeDetails.EmployeeDepartment":"ComputerScience"}, {"$push": {"EmployeeDetails.$.EmployeeProject": {"Technology":"Python", "Duration":4 }}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
উপরের ক্যোয়ারীতে, আমি নেস্টেড অ্যারেতে একটি নথি {"Technology":"Python", "Duration":4 } যোগ করেছি। এখন আবার সংগ্রহ থেকে নথি প্রদর্শন করুন. প্রশ্নটি নিম্নরূপ:
> db.nestedArrayDemo.find().pretty();
নিম্নলিখিত আউটপুট:
{ "_id" : ObjectId("5c6d73090c3d5054b766a76e"), "EmployeeName" : "Larry", "EmployeeSalary" : 9000, "EmployeeDetails" : [ { "EmployeeDOB" : ISODate("1990-01-21T00:00:00Z"), "EmployeeDepartment" : "ComputerScience", "EmployeeProject" : [ { "Technology" : "C", "Duration" : 6 }, { "Technology" : "Java", "Duration" : 7 }, { "Technology" : "Python", "Duration" : 4 } ] } ] }