반응형
ID 집합으로 여러 문서를 업데이트합니다.몽구스
mongoose가 id set으로 여러 문서를 업데이트하는 방법이 있는지 궁금합니다.예:
for (var i = 0, l = ids.length; i < l; i++) {
Element.update({'_id': ids[i]}, {'visibility': visibility} ,function(err, records){
if (err) {
return false;
} else {
return true;
};
});
};
내가 알고 싶은 것은 몽구스가 다음과 같은 일을 할 수 있다는 것입니다.
Element.update({'_id': ids}, {'visibility': visibility}, {multi: true} ,function(err, records){
if (err) {
return false;
}
});
여기서 ids는 ['id1', 'id2', 'id3'] - 샘플 배열과 같은 ID 배열입니다.찾기 위한 질문과 동일합니다.
아마 그럴 겁니다.그리고 업데이트를 위해 mongodb 쿼리에서 $in 연산자를 사용하여 호출됩니다.
db.Element.update(
{ _id: { $in: ['id1', 'id2', 'id3'] } },
{ $set: { visibility : yourvisibility } },
{multi: true}
)
당신이 필요한 것은 몽구스에서 $in을 구현하는 방법을 찾는 것입니다.
업데이트 중 {multi:true}이(가) 필요 없는 많은 기능
db.collectionName.updateMany(
{
_id:
{
$in:
[
ObjectId("your object id"),
ObjectId("your object id")
]
}
},
{
$inc: { quantity: 100 }
})
포인트를 하나 더 추가하고 싶습니다. $in을 사용하여 여러 문서를 가져올 수 있습니다.
db.collectionName.find(
{
_id:
{
$in:
[
ObjectId("your object id"),
ObjectId("your object id")
]
}
})
집합에 대해 지정된 필터와 일치하는 모든 문서를 업데이트합니다.
let ids = ["kwwe232244h3j44jg3h4", "23h2u32g2h3b3hbh", "fhfu3h4h34u35"];
let visibility = true;
Element.updateMany({_id: {$in: ids}},
{ $set: { visibility } },
{multi: true} ,
function(err, records){
if (err) {
return false;
}
});
언급URL : https://stackoverflow.com/questions/20096885/update-multiple-documents-by-id-set-mongoose
반응형
'programing' 카테고리의 다른 글
| 개체를 배열로 변환하는 유형 스크립트 - *ngFor는 개체 반복을 지원하지 않기 때문입니다. (0) | 2023.06.11 |
|---|---|
| 모든 월 이름을 나열하는 방법(예: 콤보)? (0) | 2023.06.11 |
| 최대 절전 모드에서 Oracle XMLType 열 사용 (0) | 2023.06.11 |
| 왜 'eval'을 사용하는 것이 나쁜 관행입니까? (0) | 2023.06.06 |
| Python + Selenium WebDriver를 사용하여 쿠키를 저장하고 로드하는 방법 (0) | 2023.06.06 |