$push có thể thêm tài liệu mới vào mảng lồng nhau. Tạo collection nestedArrayDemo:
>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") }
Hiển thị:
> db.nestedArrayDemo.find().pretty();
Thêm project mới {"Technology":"Python","Duration":4} vào EmployeeProject của department ComputerScience:
>db.nestedArrayDemo.update({"_id":ObjectId("5c6d73090c3d5054b766a76e"), "EmployeeDetails.EmployeeDepartment":"ComputerScience"}, {"$push":{"EmployeeDetails.$.EmployeeProject":{"Technology":"Python","Duration":4}}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
Kiểm tra: Mảng EmployeeProject giờ có 3 phần tử (C, Java, Python).