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 중국어 웹사이트의 기타 관련 기사를 참조하세요!