>웹 프론트엔드 >JS 튜토리얼 >MongoDB의 배열에서 특정 개체를 제거하는 방법은 무엇입니까?

MongoDB의 배열에서 특정 개체를 제거하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-02 07:26:291043검색

How to Remove a Specific Object from an Array in MongoDB?

MongoDB: 배열에서 객체 제거

문제:

MongoDB에서 특정 객체를 어떻게 추출합니까? 문서에 포함된 배열에서? 예제 문서에서는 항목 배열에서 ID가 23인 개체를 제거하려고 합니다.

해결책:

이를 달성하려면 다음과 함께 $pull 연산자를 사용하세요. 배열 내의 원하는 객체와 일치하는 보다 구체적인 쿼리.

MongoDB 쿼리:

db.mycollection.update(
    { '_id': ObjectId("5150a1199fac0e6910000002") }, 
    { $pull: { items: { id: 23 } } },
    false, // Upsert
    true // Multi
);

설명:

  • $pull 연산자: 배열에서 요소를 제거하는 데 사용됩니다.
  • { 항목: { id: 23 } }: 특정 필드를 일치시켜 제거할 중첩 개체를 지정합니다.
  • Upsert: 업데이트가 기존 문서와 일치하지 않는 경우 새 문서 생성을 방지하려면 false로 설정합니다.
  • Multi: 일치하는 여러 문서에 업데이트를 적용하려면 true로 설정합니다(일치하는 항목은 하나만 있어야 함). 이 경우).

Node.js/Mongoose:

Mongoose에서는 다음 쿼리를 사용할 수 있습니다.

<code class="javascript">MyModel.findOneAndUpdate(
  { '_id': '5150a1199fac0e6910000002' },
  { $pull: { items: { id: 23 } } },
  { multi: true }
);</code>

참고: MongoDB 3.6은 배열 내에서 보다 복잡한 필터링을 위해 $pull과 함께 $elemMatch 연산자도 지원합니다.

위 내용은 MongoDB의 배열에서 특정 개체를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.