MongoDB: 배열에서 객체 제거
MongoDB에서는 $를 사용하여 문서에 포함된 배열에서 객체를 제거할 수 있습니다. 풀 오퍼레이터. 배열에서 특정 개체를 제거하려면 정확한 개체와 일치하는 쿼리를 제공해야 합니다.
다음 문서를 고려하세요.
{
_id: 5150a1199fac0e6910000002,
name: 'some name',
items: [{
id: 23,
name: 'item name 23'
},{
id: 24,
name: 'item name 24'
}]
}
항목 배열에서 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() 메서드:
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); }
);
이 코드는 지정된 _id와 일치하는 모든 문서의 항목 배열에서 ID가 23인 항목을 제거합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3