내 Node.js 응용 프로그램에서 DynamoDB를 처리하기 위해 Dynamoose을 사용하고 있습니다. 아래의 함수는 사용자 ID를 받아 값 'mynumber'에 값을 추가하고 새 레코드를 저장합니다.Amazon Web Services DynamoDB 항목 업데이트시 일관성이 없음
function updateData(userid, value) {
User.get(userid, function(err, user) {
user.mynumber = user.mynumber + value;
user.save(function(err) {});
});
};
내 문제는이 시간이 거의 절반이 아닐 수도 있습니다. AWS DynamoDB 콘솔에 로그인 할 때 실행 후 레코드가 업데이트되지 않습니다. 레코드를 저장하기 전에 console.log
을 실행하려고 시도했지만 정확합니다. 하지만 어떤 이유로 DB로 업데이트하지 않는 것 같습니다.
이 레코드를 업데이트하는 것이 왜 그렇게 일관성이 없으며 시간의 절반 정도는 완벽하게 작동하고 나머지 절반은 변경되지 않습니다.
추가 정보가 필요하거나 궁금한 점이 있으면 알려주십시오. 미리 감사드립니다.
'저장'에서 오류 로깅을 시도 했습니까? –
@PatrickGoley 예, 항상 null을 반환합니다. –
또한 중요한 점은'save'는 콜백을 받아 들일만큼 비동기 적이지만'updateData' 함수는 그렇지 않습니다. 'updateData'를 호출 한 직후에 체크하고 있습니까? 완료하는 데 약간의 시간이 걸릴 수 있습니다. –