MongoDB 쓰기 오류를 처리하는 방법 (Mongo 연결 drop 때문에)? 여러 문서에 대한 업데이트를 수행해야하므로 기본적으로 트랜잭션이 필요합니다. "아무것도 아니거나 모두"접근 방식입니다. 오류을 잡아서 업데이트 중 하나가 실패한 경우 삽입 된 데이터를 되돌릴 수 있다고 생각했습니다. 그러나 MongoDB 연결이 끊어지면 응용 프로그램의 "uncaughtException"에 의해 직접 catch됩니다. 그러면이 시나리오를 어떻게 처리 할 수 있습니까? 필요한 것은 다중 문서 업데이트에서 "아무것도 아님"입니다.Node.js : MongoDB 쓰기 오류를 처리하는 방법?
0
A
답변
0
트랜잭션이 MongoDB에 존재하지 않습니다. 점진적으로 업데이트를 수행하기 위해 2 단계 커밋을 수행하는 the one @Alex-Blex posted in the comments과 같은 몇 가지 해결 방법이 있습니다. (그것은 잘못된 약간이다 그들의 예 칠dB 작전 있습니다.)
MongoDB를 연결 떨어 뜨리면, 그것은 바로
당신은 함께이 수신 할 수 있습니다 응용 프로그램의 "의 uncaughtException"에 걸려있어 연결 disconnected
및 error
이벤트 : 나는 당신이 당신의 '거래'의 수명에 대해 하나를 설정할 수 있습니다 생각하지만
mongoose.connection.on("disconnected", function() {
// Lost connection to database
});
mongoose.connection.on("reconnected", ...);
는 일반적으로 그 청취자는 응용 프로그램 전체이다. reconnected
을 기다렸다가 데이터베이스 op를 다시 시도하거나 다시 시작해야합니다. 어떤 경우에도 "거래"가 진행되는 동안 어떠한 이유로 든 크래시가 발생하지 않도록 애플리케이션에 의존하게됩니다.
트랜잭션을 안정적으로 수행하려면 다른 데이터베이스를 조사해야합니다.
관련 문제
- 1. JavaScript (Node.js)에서 MongoDB 컬렉션을 업데이트 할 때 오류를 처리하는 방법
- 2. node.js 쓰기 가능한 스트림의 끝 신호를 처리하는 방법?
- 3. Node.JS MongoDB 연산 순서
- 4. ndb.put_multi에서 오류를 처리하는 방법
- 5. antlr에서 오류를 처리하는 방법
- 6. "Nonetype"오류를 처리하는 방법?
- 7. ETIMEDOUT 오류를 처리하는 방법?
- 8. 404 오류를 처리하는 방법
- 9. BPEL 오류를 처리하는 방법
- 10. IE 오류를 처리하는 방법
- 11. C에서 파일 읽기/쓰기 오류를 올바르게 처리하는 방법?
- 12. Django + MongoDB vs Node.js + MongoDB
- 13. Node.js http.createServer 오류를 얻는 방법
- 14. Node.js 몽구스, 포스트 저장시 오류를 잡는 방법
- 15. Sails에서 MongoDB 오류를 잡는 방법
- 16. Node.js MongoDB Upsert 업데이트
- 17. Node.js and Mongodb
- 18. MongoDB count collection Node.js
- 19. MongoDB Node.js each method
- 20. timestamp mongodb using node.js
- 21. Node.js + MongoDB가없는 MongoDB
- 22. Node.js 드라이버가있는 MongoDB insert
- 23. Node.js mongodb 대량 삽입
- 24. ClaimsAuthenticationManager.Authenticate 중에 오류를 처리하는 방법
- 25. 오류를 처리하는 가장 좋은 방법
- 26. Codeigniter : 데이터베이스 오류를 처리하는 방법?
- 27. AppleScript로 자동화 오류를 처리하는 방법
- 28. jquery 라이브러리에서이 오류를 처리하는 방법
- 29. 웹 서비스에서 오류를 처리하는 방법
- 30. XMLRPC :: FaultException 오류를 처리하는 방법?
mongodb에는 트랜잭션이 없지만 [2 단계 커밋] (https://docs.mongodb.com/manual/tutorial/perform-two-phase-commits/) 접근 방식을 시도해 볼 수 있습니다. –