2013-11-20 3 views
6

mongoose가 id set으로 여러 문서를 업데이트 할 수있는 방법이 있는지 궁금합니다. 예를 들면 :ID 집합으로 여러 문서를 업데이트하십시오. Mongoose

내가 알고 싶은
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; 
     }; 
    }); 
}; 

그 몽구스 이런 식으로 뭔가를 할 수 있다면 :

IDS는 ID의 배열 인
Element.update({'_id': ids}, {'visibility': visibility}, {multi: true} ,function(err, records){ 
    if (err) { 
     return false; 
    } 
}); 

, [ 'ID1', 'ID2'와 같은, 'id3'] - 샘플 배열. find와 (과) 동일한 질문입니다.

답변

14

아마도 그렇습니다. 그리고 업데이트를 위해 mongodb 쿼리에서 $in 연산자를 사용하여 호출됩니다.

db.Element.update(
    { _id: { $in: ['id1', 'id2', 'id3'] } }, 
    { $set: { visibility : yourvisibility } } 
) 

필요한 것은 몽구스에서 $를 구현하는 방법을 찾는 것입니다.

+0

예, 맞습니다. $ 연산자는 몽구스에도 완벽하게 작동합니다. – user2960708

+0

다중 업데이트를 사용할 수 있지만 저장 명령을 사용할 수 있습니까? 저장 기능을 사용하면 유효성 검사가 수행되기 때문에 – Barno

+6

다른 _id 값에 대해 가시성 속성을 다르게 업데이트 할 수 있습니까? – Vinay

관련 문제