2012-01-01 1 views

답변

4

MongoDB에는 글로벌 업데이트 (인스턴스 별) 쓰기 잠금이 있습니다.이 잠금은 서버의 모든 데이터에 대해 모든 업데이트를 직렬화합니다 (공유 클러스터의 다른 서버는 각각 독립적 인 잠금을 가짐). 즉, 특정 시점에서 특정 문서에 대해 하나의 업데이트 만 발생하므로 특정 문서에 대해 하나의 업데이트 만 수행됩니다.

findAndModify이 점에있어 다른 점은 보통 update보다 많지 않습니다. 단지 문서를 반환하기 만하면됩니다.

+0

나는 미래의 의미 (미래의 사용자베이스에 대한 계약)의 보장으로서 의사 소통의 명백한 원 자성 주장을 해석하는 것이 합리적이라고 생각한다. (약속들)은 그러한 약속이 부족한 기존의 시맨틱 스 품질 코드에서 의존해서는 안되는 구현 세부 사항으로서. –

+0

나는 내 대답의 어느 부분이 있는지는 잘 모르겠다. 그러나 원자 갱신 의미 체계는'findAndModify'와 일반적인'update' 둘 다 보장됩니다. 구현 (현재 전역 쓰기 잠금)은 변경 될 수 있지만 의미는 그대로 유지됩니다. – dcrosta

관련 문제