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

MongoDB의 배열에 포함된 문서에 필드를 추가하시겠습니까?

<시간/>

이를 위해 $ 연산자와 함께 update()를 사용할 수 있습니다. 먼저 문서로 컬렉션을 만들어 보겠습니다. −

> db.addAFieldDemo.insertOne(... {...... "ClientName" :"Larry",... "ClientCountryName" :"US",... "ClientOtherDetails" :[... {... "ClientProjectName":"온라인 뱅킹 시스템"... }... ]... }... );{ "승인됨" :true, "insertedId" :ObjectId("5cd44bdc2cba06f46efe9ee8")} 

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

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

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

{ "_id" :ObjectId("5cd44bdc2cba06f46efe9ee8"), "ClientName" :"Larry", "ClientCountryName" :"US", "ClientOtherDetails" :[ { "ClientProjectName" :"온라인 뱅킹 시스템" } ]} 

다음은 배열에 포함된 문서에 필드를 추가하는 쿼리입니다 -

> db.addAFieldDemo.update({ClientOtherDetails:{$elemMatch:{"ClientProjectName" :"온라인 뱅킹 시스템"}}},... {$set :{'ClientOtherDetails.$.isMarried':true}} ,true);WriteResult({ "nMatched" :1, "nUpserted" :0, "nModified" :1 })

위 컬렉션의 모든 문서를 표시하겠습니다 -

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

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

{ "_id":ObjectId("5cd44bdc2cba06f46efe9ee8"), "ClientName":"Larry", "ClientCountryName":"US", "ClientOtherDetails":[ { "ClientProjectName":"온라인 뱅킹 시스템", "isMarried" :사실 } ]}