2012-08-02 2 views
2

mongo의 findAndModify를 기준에 맞는 모든 문서에 적용 할 수 있습니까? 나는 mongodb.org에서 그것을 발견 할 수 없었다.몽고 findAndModifyevery 문서

감사합니다.

+0

이렇게하면 무엇을하려합니까? 그것은 내게 당신이 근본적인 스키마 디자인 질문을 가지고있는 것처럼 들린다. –

+0

나는 몽고 랍에서 나의 DB를 호스팅하고 있으며 나는 테스트 목적으로 어떤 데이터를 수동으로 삭제하고 싶다. 내 질문에 대답했습니다. – chenglou

답변

2

:

이 명령은 원자 문서 (최대 하나) 을 수정하고

그래서, 아니 당신은 단지 하나에서 작동 할 수 반환 할 수 있습니다

여기 시간 있어요. 따라서 모든 문서를 반복하지 않으면 findAndModify를이 방법으로 사용할 수 없습니다. 또한 findAndModify가 작동하는 방식으로 대용량 데이터 집합에서이 작업을 수행하는 것은 끔찍한 일입니다. findAndModify() 작업이 한 번에 하나 개의 문서에 적용됩니다

http://www.mongodb.org/display/DOCS/Updating/#Updating-update%28%29

4

멀티 매개 변수가 true 인 update() 메서드를 사용할 수 있습니다. docs page에서

1

: 당신이 정말로 원하는 무엇

대신 일의이 유형을 달성하기 위해 업데이트 명령을 사용합니다. 여러 문서에 적용하려면 find() 작업을 사용하여 해당 문서를 쿼리하고 한 번에 각 문서에 findAndModify()를 적용해야합니다.

개별 findAndModify() 명령은 원 자성이지만 위의 루프에서 실행하는 findAndModify() 명령 세트는 원 자성이 아닙니다.