이것은 일반적인 데이터베이스 질문과 같지만 NodeJs + MongoDb의 현재 컨텍스트에서 질문 할 것입니다.NodeJs와 MongoDb와 관련된이 코드가 실패 할 수 있다고 생각합니다. 어떻게 수정합니까?
id가 "xyz"인 보편적 인 카운터가 있다고 가정 해 보겠습니다. 여기에 최신의 수를 가져오고 1을 증가하는 코드의 조각이다 :
collection.find({id: "xyz"},
function(err, currentCount) {
collection.update({id: "xyz"},
{$inc: {count: 1}},
function(err, data) {
cb(currentCount);
}
}
}
두 개의 클라이언트가 동시에이 코드를 호출하려는 경우 문제는, 다음 두 클라이언트가 동일한 수를 얻을 수있다가, 컬렉션은 카운트를 두 번 업데이트합니다. 이 문제를 해결하는 방법?