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

MongoDB 배열에서 요소를 제거하는 방법은 무엇입니까?


요소를 제거하려면 MongoDB에서 $pull을 업데이트하고 사용하세요. $pull 연산자는 지정된 조건과 일치하는 값의 모든 인스턴스를 기존 배열에서 제거합니다.

먼저 문서로 컬렉션을 생성해 보겠습니다. −

db.demo541.insertOne({"software":{"services":["gmail","facebook","yahoo"]}});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8ca845ef4dcbee04fbbc11")
}
> db.demo541.insertOne({"software":{"services":["whatsapp","twitter"]}});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8ca85cef4dcbee04fbbc12")
}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo541.find();

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

{ "_id" : ObjectId("5e8ca845ef4dcbee04fbbc11"), "software" : { "services" : [ "gmail", "facebook", "yahoo" ] } }
{ "_id" : ObjectId("5e8ca85cef4dcbee04fbbc12"), "software" : { "services" : [ "whatsapp", "twitter" ] } } 

다음은 MongoDB 배열에서 요소를 제거하는 쿼리입니다 -

> db.demo541.update({ _id: ObjectId("5e8ca845ef4dcbee04fbbc11") },
...    { $pull: { 'software.services': "yahoo" }}
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo541.find();

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

{ "_id" : ObjectId("5e8ca845ef4dcbee04fbbc11"), "software" : { "services" : [ "gmail", "facebook" ] } }
{ "_id" : ObjectId("5e8ca85cef4dcbee04fbbc12"), "software" : { "services" : [ "whatsapp", "twitter" ] } }