2016-11-14 17 views
12

Tôi có một ứng dụng web chạy trên Node, express và MongoDB. Tôi sử dụng mongoose như ODM. Khi tôi thử nghiệm ứng dụng của tôi với phiên bản mongodb v3.0.1 nó chạy tốt và không có lỗi. Nhưng khi tôi chạy cùng một mã v3.2.10 tôi nhận được một thời gian chờ kết nối sau một thời gian.Kết nối TImeout cho mongodb sử dụng mongoose

tôi nhận được lỗi sau:

Error: connection timeout at null.<anonymous> (/webapp/node_module/mongoose/lib/drivers/node-mongodb-native/connection.js:186:17) 

tôi sử dụng mongoose.connect cho kết nối db đến dụ MongoDB địa phương. Có gì thay đổi trong cách kết nối không?

+0

thời gian chờ kết nối tại 'null' làm cho tôi nghi ngờ số cổng thích hợp không được chuyển đến mô-đun connection.js của mongoose - bạn đã xem xét điều này chưa? – BenWS

+0

nó kết nối tốt chạy tốt cho một thời gian. Vì vậy, tôi nghĩ rằng kết nối hoạt động tốt nhưng lỗi này xuất hiện sau 20-30 phút. – Dan

+0

@ Tôi có thể gặp vấn đề tương tự không. Nếu bạn có thể giải quyết nó, hãy cho tôi biết làm thế nào. – slorenzo

Trả lời

13

Tôi gặp sự cố này một thời gian trước đây. Tất cả phụ thuộc vào phiên bản của mongoosemongodb-core bạn đang sử dụng. Ngay bây giờ, bạn phải xác định các thông số sau:

mongoose.connect("mongodb://user:[email protected]/db", { 
    server: { 
    socketOptions: { 
     socketTimeoutMS: 0, 
     connectionTimeout: 0 
    } 
    } 
}); 

Tuy nhiên, chỉ ngày hôm qua, các thông số đúng nơi

mongoose.connect("mongodb://user:[email protected]/db", { 
    server: { 
    socketOptions: { 
     socketTimeoutMS: 0, 
     connectTimeoutMS: 0 
    } 
    } 
}); 

tôi không thực sự biết những gì để tin vào nữa ..

+0

Xem thêm tại đây: https://github.com/christkv/mongodb-core/issues/153 Có vấn đề khi thiết lập thời gian chờ trong mongodb-core mới nhất. – DBellavista

+0

Tôi cũng bỏ qua lỗi này nhưng tốt để biết điều này. – Volem

Các vấn đề liên quan