Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Cách thêm sub-document vào mảng sub-document trong MongoDB

Sử dụng toán tử $push để thêm sub-document. Tạo collection với document:

> db.subDocumentToSubDocumentDemo.insertOne(
    {
      "_id" : 101,
      "StudentName" : "Larry",
      "StudentAge" : 21,
      "StudentDetails" : [
        {
          "StudentCountryName" : "US",
          "StudentFavouriteSubjectList" : []
        }
      ]
    }
); { "acknowledged" : true, "insertedId" : 101 }

Hiển thị document:

> db.subDocumentToSubDocumentDemo.find().pretty();

Kết quả:

{ "_id" : 101, "StudentName" : "Larry", "StudentAge" : 21, "StudentDetails" : [ { "StudentCountryName" : "US", "StudentFavouriteSubjectList" : [] } ] }

Truy vấn thêm sub-document mới vào mảng StudentDetails:

> db.subDocumentToSubDocumentDemo.update(
    { "_id": 101 },
    {
      "$push": {
        "StudentDetails": {
          "StudentCountryName" : "UK",
          "StudentFavouriteSubjectList" : ["MongoDB", "Java"]
        }
      }
    }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Kiểm tra lại document:

> db.subDocumentToSubDocumentDemo.find().pretty();

Kết quả (mảng StudentDetails giờ có 2 sub-document):

{ "_id" : 101, "StudentName" : "Larry", "StudentAge" : 21, "StudentDetails" : [ { "StudentCountryName" : "US", "StudentFavouriteSubjectList" : [] }, { "StudentCountryName" : "UK", "StudentFavouriteSubjectList" : [ "MongoDB", "Java" ] } ] }