복붙노트

[MONGODB] MongoDB의에서 findAndModify 및 업데이트의 차이점은 무엇입니까?

MONGODB

MongoDB의에서 findAndModify 및 업데이트의 차이점은 무엇입니까?

나는 MongoDB의에서 findAndModify 방법으로 혼란 작은 비트입니다. 업데이트 방법을 통해 그것의 장점은 무엇입니까? 나를 위해, 단지 첫 번째 항목을 반환 것으로 보인다 후를 업데이트합니다. 그런데 왜 내가 먼저 항목을 반환해야합니까? 최종 가이드를하고 그것이 큐를 조작하고 스타일 자성 세트를 얻을 앤 필요가 다른 작업을 수행하기위한 편리 말한다 : 나는 MongoDB를 읽을. 그러나 나는 이것을 달성하는 방법을 이해하지 못했다. 누군가가 나에게 이것을 설명 할 수 있습니까?

해결법

  1. ==============================

    1.당신이 항목을 가져오고 다음을 업데이트하는 경우, 두 단계 사이에 다른 스레드에 의해 업데이 트가있을 수 있습니다. 먼저 항목을 업데이트 한 다음 그것을 가져 오는 경우가 다른 갱신의 사이에있을 수 있습니다 당신은 당신이 업데이트 된 것보다 다른 항목을 다시 얻을 것이다.

    당신이 항목을 가져오고 다음을 업데이트하는 경우, 두 단계 사이에 다른 스레드에 의해 업데이 트가있을 수 있습니다. 먼저 항목을 업데이트 한 다음 그것을 가져 오는 경우가 다른 갱신의 사이에있을 수 있습니다 당신은 당신이 업데이트 된 것보다 다른 항목을 다시 얻을 것이다.

    사이에 일어날 수있는 즉, 다른 동작 - 그 일을 "원자"란 당신은 당신이 다시 업데이트하는 동일한 항목을 받고 있는지 보장됩니다.

  2. ==============================

    2.findAndModify 문서를 반환 업데이트하지 않습니다.

    findAndModify 문서를 반환 업데이트하지 않습니다.

    나는 하나의 문서 즉를 수정하는 업데이트를 사용, 드와이트 리먼 제대로 (MongoDB를 원래의 저자 중 하나)를 이해하는 경우 ( "다".. 거짓은} 또한 원자입니다 현재, 그것은 또한 빠른 findAndModify를 사용하여 해당 갱신하는 것보다해야합니다.

  3. ==============================

    3.MongoDB를 워드 프로세서에서 (강조는 추가) :

    MongoDB를 워드 프로세서에서 (강조는 추가) :

  4. ==============================

    4.사용 사례 중 하나 개 유용한 클래스는 카운터와 비슷한 경우입니다. 예를 들어,이 코드합니다 (MongoDB를 시험 중 하나)를 살펴 : find_and_modify4.js.

    사용 사례 중 하나 개 유용한 클래스는 카운터와 비슷한 경우입니다. 예를 들어,이 코드합니다 (MongoDB를 시험 중 하나)를 살펴 : find_and_modify4.js.

    따라서, findAndModify 당신은 카운터를 증가하고 그 증가를 얻을 수 한 단계의 값. 비교 : 당신 (A)는 두 단계로이 작업을 수행 할 경우 다른 사람 (B) 누군가가 않습니다 당신의 단계 사이에서 동일한 작업 후 A와 B는 할 수있다 대신 두 개의 서로 다른 (가능한 문제의 한 예)의 같은 마지막 카운터 값을 얻는다.

  5. from https://stackoverflow.com/questions/10778493/whats-the-difference-between-findandmodify-and-update-in-mongodb by cc-by-sa and MIT license