>웹 프론트엔드 >JS 튜토리얼 >MongoDB의 배열에서 객체를 어떻게 제거합니까?

MongoDB의 배열에서 객체를 어떻게 제거합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-01 02:29:02359검색

How do I remove an object from an array in MongoDB?

MongoDB: 배열에서 객체 제거

MongoDB에서는 $ 기호를 사용하여 문서에 포함된 배열에서 객체를 제거할 수 있습니다. 풀 오퍼레이터. 배열에서 특정 개체를 제거하려면 정확한 개체와 일치하는 쿼리를 제공해야 합니다.

다음 문서를 고려하세요.

<code class="json">{
   _id: 5150a1199fac0e6910000002,
   name: 'some name',
   items: [{
      id: 23,
      name: 'item name 23'
   },{
      id: 24,
      name: 'item name 24'
   }]
}</code>

ID가 있는 항목을 제거하려면 : 23 항목 배열에서 다음 명령을 사용합니다.

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

이 명령은 배열에서 항목을 제거하여 문서를 업데이트합니다. 쿼리는 _id 필드를 사용하여 문서를 지정하고 $pull 연산자는 항목 배열을 대상으로 합니다. $pull 작업 내에서 제거할 개체와 일치하는 쿼리를 지정할 수 있습니다. 이 경우 객체를 ID: 23과 일치시킵니다.

Mongoose/Node.js 구현

Mongoose에서는 다음을 사용하여 배열에서 객체를 제거할 수 있습니다. pull() 메서드:

<code class="javascript">const Model = mongoose.model('Model', new mongoose.Schema({
  items: [{
    id: Number,
    name: String
  }]
}));

Model.update(
  { '_id': '5150a1199fac0e6910000002' },
  { $pull: { items: { id: 23 } } },
  { multi: true }, // Update all matching documents
  (err, result) => { if (!err) console.log(result); }
);</code>

이 코드는 지정된 _id와 일치하는 모든 문서의 항목 배열에서 ID가 23인 항목을 제거합니다.

위 내용은 MongoDB의 배열에서 객체를 어떻게 제거합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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