এখানে, $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
}
]
}
]
}