Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB의 하위 문서 배열에 하위 문서를 추가하는 방법은 무엇입니까?

<시간/>

$push 연산자를 사용하여 하위 문서를 추가합니다. 먼저 문서로 컬렉션을 만들어 보겠습니다. −

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

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -

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

이것은 다음과 같은 출력을 생성합니다 -

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

다음은 MongoDB의 하위 문서 배열에 하위 문서를 추가하는 쿼리입니다 -

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

모든 문서를 다시 한 번 확인합시다 -

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

이것은 다음과 같은 출력을 생성합니다 -

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