findAndModify()는 어떤 유형의 잠금을 제공합니까? 쓰기 잠금 전용입니까, 아니면 읽기/쓰기입니까? 동일한 레코드에 대해 동시 업데이트를 방지합니까?findAndModify는 업데이트 충돌을 방지하기 위해 문서를 효과적으로 잠급 시킵니까?
답변
MongoDB: findAndModify()에 대한 MongoDB 문서에 따르면 MongoDB: Atomic Operations 이하이어야합니다.
MongoDB에는 글로벌 업데이트 (인스턴스 별) 쓰기 잠금이 있습니다.이 잠금은 서버의 모든 데이터에 대해 모든 업데이트를 직렬화합니다 (공유 클러스터의 다른 서버는 각각 독립적 인 잠금을 가짐). 즉, 특정 시점에서 특정 문서에 대해 하나의 업데이트 만 발생하므로 특정 문서에 대해 하나의 업데이트 만 수행됩니다.
findAndModify
이 점에있어 다른 점은 보통 update
보다 많지 않습니다. 단지 문서를 반환하기 만하면됩니다.
나는 미래의 의미 (미래의 사용자베이스에 대한 계약)의 보장으로서 의사 소통의 명백한 원 자성 주장을 해석하는 것이 합리적이라고 생각한다. (약속들)은 그러한 약속이 부족한 기존의 시맨틱 스 품질 코드에서 의존해서는 안되는 구현 세부 사항으로서. –
나는 내 대답의 어느 부분이 있는지는 잘 모르겠다. 그러나 원자 갱신 의미 체계는'findAndModify'와 일반적인'update' 둘 다 보장됩니다. 구현 (현재 전역 쓰기 잠금)은 변경 될 수 있지만 의미는 그대로 유지됩니다. – dcrosta
- 1. 오래된 보석을 보여주십시오? 아무것도 충돌을 방지하기 위해
- 2. 개발자가 응용 프로그램 충돌을 방지하기 위해 failsafe를 만들어야합니까?
- 3. 요소의 텍스트 업데이트 - 효과적으로
- 4. 사용자를 방지하기 위해
- 5. 데이터베이스 누출을 방지하기 위해
- 6. 어떻게 자식 수신을 방지하기 위해
- 7. "방지하기 위해 SQL 쿼리에 주입
- 8. 인스턴스화를 방지하기 위해 __new__을 사용해야합니까?
- 9. 중복 번호를 방지하기 위해 잠글 수있는 방법
- 10. NSFileManager 파일을 사용 중인지 확인하는 방법 (삭제를 방지하기 위해) NSFileBusy?
- 11. ASP.Net은 서버 성능을 향상 시킵니까?
- 12. 스팸을 방지하기 위해 iOS 앱에서 서버에 요청합니다.
- 13. Cloudbees에서 시간 초과를 방지하기 위해 nginx 구성
- 14. 어떻게 혼합되는 요소를 방지하기 위해/하드웨어 CSS에서
- 15. 어떻게 팝업에서 일식에서 Junit을 방지하기 위해?
- 16. XSS를 방지하기 위해 c : out을 사용하는 대신
- 17. UITableViewCell 고정을 방지하기 위해 dequeueReusableCellWithIdentifier를 피하십시오.
- 18. jQuery가 기본 동작을 방지하기 위해 클릭하지 않음
- 19. 긁힘을 방지하기 위해 Apache에서 액세스 제한을 부과합니까?
- 20. JS 오류를 방지하기 위해 onclick을 무시하십시오.
- 21. "도난"을 방지하기 위해 PHP를 컴파일 하시겠습니까?
- 22. 편집증 : 코드 중복을 방지하기 위해/after 루프
- 23. 어떻게 PHP에서 빠른 페이지 요청을 방지하기 위해?
- 24. SQL 주입을 방지하기 위해 수행해야하는 단계는 무엇입니까?
- 25. 메모리 예외를 방지하기 위해 트랜잭션을 어떻게 사용해야합니까?
- 26. ASP.Net : RegularExpressionValidator ValidationExpression는`방지하기 위해;`와`-` 시간
- 27. MKCoordinateRegion을 약간 확대 시킵니까?
- 28. 효과적으로
- 29. mongodb에서 하위 문서를 업데이트 하시겠습니까?
- 30. 타임 아웃을 방지하기 위해 InnoDB 인덱스를 온라인으로 재구성 하시겠습니까?
보증 된 샤드 당 인스턴스가 우리가 필요로하는 모든 것입니다. 감사합니다. – user646584