[MONGODB] 내가 몽구스에서 여러 문서를 업데이트 할 수있는 방법
MONGODB내가 몽구스에서 여러 문서를 업데이트 할 수있는 방법
나는 다음과 같은 스크립트를 발견 :
Device.find(function(err, devices) {
devices.forEach(function(device) {
device.cid = '';
device.save();
});
});
MongoDB를 여러 문서를 통해 업데이 트의 "멀티"플래그가 있지만 몽구스와 함께이 작업을 얻을 수 없습니다. 이 아직 지원되지 않습니다 아니면 내가 뭔가 잘못하고있는 중이 야?!
Device.update({}, {cid: ''}, false, true, function (err) {
//...
});
해결법
-
==============================
1.현재 내가 볼, 몽구스의 업데이트가 () 몇 가지 문제를 가지고 있다고 생각합니다 : https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Erg 및 https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion.
현재 내가 볼, 몽구스의 업데이트가 () 몇 가지 문제를 가지고 있다고 생각합니다 : https://groups.google.com/forum/#%21topic/mongoose-orm/G8i9S7E8Erg 및 https://groups.google.com/d/topic/mongoose-orm/K5pSHT4hJ_A/discussion.
http://mongoosejs.com/docs/api.html (해당 모델에 따라) : 그러나, 업데이트에 대한 문서를 확인하십시오. 정의는 다음과 같습니다
이전 솔루션 (감가 상각 몽구스 5+ 버전 이후)
Model.update = function (query, doc, options, callback) { ... }
코드가 될 것이다, 그래서 당신은 개체 내부의 옵션을 전달해야합니다 :
Model.update = function ({}, {cid: ''}, {multi: true}, function(err) { ... });
새로운 솔루션
Model.updateMany = function (query, doc, callback) { ... } Model.updateMany = function ({}, {cid: ''}, function(err) { ... });
나는 이것이 몽고 쉘에서 같은 업데이 트를 실행하는 것과 동일하지 않습니다, 그래서 몽구스는 달러 (A $) 세트에 CID를 감싸고 있다고 생각합니다. '': 당신은 쉘에서 모든 문서를 하나의 CID에 의해 대체 될 것이라는 점을 실행 한 경우.
-
==============================
2.당신은 멀티를 사용할 필요는 true 옵션을
당신은 멀티를 사용할 필요는 true 옵션을
Device.update({},{cid: ''},{multi: true});
-
==============================
3.그 답은되지 않습니다. 이것은 실제 솔루션입니다 :
그 답은되지 않습니다. 이것은 실제 솔루션입니다 :
Device.updateMany({}, { cid: '' });
from https://stackoverflow.com/questions/6694507/how-can-i-update-multiple-documents-in-mongoose by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB의 통합 프레임 워크의 경우 문을 수행 (0) | 2019.12.12 |
---|---|
[MONGODB] MongoDB를 집계 $ 그룹은 배열의 길이를 제한 (0) | 2019.12.12 |
[MONGODB] 어레이 내부 MongoDB를 업데이트 중첩 배열 [중복] (0) | 2019.12.12 |
[MONGODB] MongoDB를에 사진을 저장 (0) | 2019.12.12 |
[MONGODB] 어떻게하여 MongoDB에서 인덱스 작업으로 분류 하는가? (0) | 2019.12.12 |