반응형
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: {id: 23}});
하지만 나는 내가 'pull'을 올바르게 사용하지 않는다고 확신한다.제가 알기로는 pull은 배열에서 필드를 가져오지만 객체는 가져오지 않는 것으로 알고 있습니다.
개체 전체를 배열에서 꺼내는 방법
보너스로 mongoose/nodejs로 하려고 하는데 mongoose API에 이런 것이 있는지 잘 모르겠지만 찾을 수 없었습니다.
시험해 보다
db.mycollection.update(
{ '_id': ObjectId("5150a1199fac0e6910000002") },
{ $pull: { items: { id: 23 } } },
false, // Upsert
true, // Multi
);
나는 다음과 같은 서류를 가지고 있다.
주소 배열에서 주소를 삭제해야 합니다.
인터넷에서 많은 것을 검색한 후 해결책을 찾았다.
Customer.findOneAndUpdate(query, { $pull: {address: addressId} }, (err, data) => {
if (err) {
return res.status(500).json({ error: 'error in deleting address' });
}
res.json(data);
});
내 데이터베이스:
{
"_id" : ObjectId("5806056dce046557874d3ab18"),
"data" : [
{ "id" : 1 },
{ "id" : 2 },
{ "id" : 3 }
]
}
질문:
db.getCollection('play_table').update({},{$pull:{"data":{"id":3}}},{multi:true}
출력:
{
"_id" : ObjectId("5806056dce046557874d3ab18"),
"data" : [
{ "id" : 1 },
{ "id" : 2 }
]
}
다음과 같이 시험해 볼 수도 있습니다.
db.getCollection('docs').update({ },{'$pull':{ 'items':{'id': 3 }}},{multi:true})
어레이 내의 단일 레코드의 경우:
db.getCollection('documents').update(
{ },
{'$pull':{ 'items':{'mobile': 1234567890 }}},
{new:true}
);
배열에 동일한 휴대 전화 번호를 가진 여러 레코드의 경우:
db.getCollection('documents').update(
{ },
{
$pull: {
items: { mobile: 1234567890 }
}
},
{ new:true, multi:true }
)
사용하다$pull
데이터를 삭제하다
return this.mobiledashboardModel
.update({"_id": args.dashboardId}, { $pull: {"viewData": { "_id": widgetId}}})
.exec()
.then(dashboardDoc => {
return {
result: dashboardDoc
}
});
키쇼레 디야나:
요소 속성 리스트의 키를 포함한 모든 요소를 삭제하는 경우.
다음으로 mongoDB unset 연산자의 예를 나타냅니다.
db.UM_PREAUTH_CASE.update(
{ 'Id' : 123}, { $unset: { dataElements: ""} } )
JSON은 다음과 같습니다.
{ "Id":123,"dataElements" : [ { "createdBy" : "Kishore Babu Diyyana", "createdByUserId" : 2020 }, { "createdBy" : "Diyyana Kishore", "createdByUserId" : 2021 } ] }
언급URL : https://stackoverflow.com/questions/15641492/mongodb-remove-object-from-array
반응형
'programing' 카테고리의 다른 글
NSUserDefaults에 문자열을 저장하시겠습니까? (0) | 2023.04.11 |
---|---|
\d는 grep의 기본 표현식에서는 지원되지 않습니까? (0) | 2023.04.11 |
Oracle이 제약 조건을 발견하다 (0) | 2023.04.06 |
아이디 대신 우편명으로 우편물을 받다 (0) | 2023.04.06 |
Springboot / Angular 2 - HTML5 URL 처리 방법 (0) | 2023.04.06 |