Xác thực bộ bản sao mongodb
Đây là mức tối thiểu cần thiết để kết nối cơ sở dữ liệu 4 chạy cục bộ trên cổng mặc định (27017). Nếu kết nối không thành công trên máy của bạn, hãy thử sử dụng 5 thay vì 6Bạn cũng có thể chỉ định thêm một số tham số trong 7
Xem thông số chuỗi kết nối mongodb để biết thêm chi tiết Mongoose cho phép bạn bắt đầu sử dụng các mô hình của mình ngay lập tức mà không cần đợi cầy mangut thiết lập kết nối với MongoDB Đó là bởi vì chức năng mô hình bộ đệm cầy mangut gọi nội bộ. Bộ đệm này thuận tiện, nhưng cũng là một nguồn gây nhầm lẫn phổ biến. Mongoose sẽ không đưa ra bất kỳ lỗi nào theo mặc định nếu bạn sử dụng một mô hình mà không kết nối Để tắt tính năng lưu vào bộ đệm, hãy tắt tùy chọn 8 trên lược đồ của bạn. Nếu bạn đang bật 8 và kết nối của bạn bị treo, hãy thử tắt 8 để xem bạn có mở kết nối đúng cách không. Bạn cũng có thể vô hiệu hóa 8 trên toàn cầu
Lưu ý rằng bộ đệm cũng chịu trách nhiệm đợi cho đến khi Mongoose tạo bộ sưu tập nếu bạn sử dụng tùy chọn 2. Nếu bạn tắt tính năng đệm, bạn cũng nên tắt tùy chọn 2 và sử dụng 4 để tạo các bộ sưu tập được giới hạn hoặc các bộ sưu tập có đối chiếuCó hai loại lỗi có thể xảy ra với kết nối Mongoose
Để xử lý các lỗi kết nối ban đầu, bạn nên sử dụng 6 hoặc 7 với async/awaitĐể xử lý lỗi sau khi kết nối ban đầu được thiết lập, bạn nên lắng nghe các sự kiện lỗi trên kết nối. Tuy nhiên bạn vẫn cần xử lý lỗi kết nối ban đầu như hình trên 6Lưu ý rằng Mongoose không nhất thiết phải phát ra sự kiện 'lỗi' nếu nó mất kết nối với MongoDB. Bạn nên nghe sự kiện 8 báo cáo khi Mongoose bị ngắt kết nối với MongoDBPhương thức 9 cũng chấp nhận một đối tượng 60 sẽ được chuyển đến trình điều khiển MongoDB bên dưới 0Có thể tìm thấy danh sách đầy đủ các tùy chọn trên MongoDB Node. tài liệu trình điều khiển js cho 61. Mongoose chuyển các tùy chọn cho trình điều khiển mà không sửa đổi, điều chỉnh một số ngoại lệ được giải thích bên dưới
Dưới đây là một số tùy chọn quan trọng để điều chỉnh Mongoose
Tùy chọn 07 cũng xử lý khoảng thời gian mà 3 sẽ thử lại kết nối ban đầu trước khi xảy ra lỗi. 3 sẽ thử lại trong 30 giây theo mặc định (mặc định là 07) trước khi xảy ra lỗi. Để nhận phản hồi nhanh hơn về các hoạt động không thành công, bạn có thể giảm 07 xuống 5000 như hình bên dướiThí dụ Xem trang này để biết thêm thông tin về 00 và 07Hàm 02 cũng chấp nhận tham số gọi lại và trả về một lời hứaBạn cũng có thể chỉ định các tùy chọn trình điều khiển trong chuỗi kết nối của mình dưới dạng tham số trong phần chuỗi truy vấn của URI. Điều này chỉ áp dụng cho các tùy chọn được chuyển đến trình điều khiển MongoDB. Bạn không thể đặt các tùy chọn dành riêng cho Mongoose như 8 trong chuỗi truy vấnNhược điểm của việc đặt các tùy chọn trong chuỗi truy vấn là các tùy chọn chuỗi truy vấn khó đọc hơn. Ưu điểm là bạn chỉ cần một tùy chọn cấu hình duy nhất, URI, thay vì các tùy chọn riêng biệt cho 07, 00, v.v. Phương pháp hay nhất là đặt các tùy chọn có khả năng khác nhau giữa quá trình phát triển và sản xuất, chẳng hạn như 06 hoặc 07, trong chuỗi kết nối và các tùy chọn không đổi, chẳng hạn như 00 hoặc 02, trong đối tượng tùy chọnTài liệu MongoDB có danh sách đầy đủ các tùy chọn chuỗi kết nối được hỗ trợ. Dưới đây là một số tùy chọn thường hữu ích để đặt trong chuỗi kết nối vì chúng được liên kết chặt chẽ với tên máy chủ và thông tin xác thực
Các kết nối kế thừa từ Node. js' 77 và phát ra các sự kiện khi có điều gì đó xảy ra với kết nối, chẳng hạn như mất kết nối với máy chủ MongoDB. Dưới đây là danh sách các sự kiện mà một kết nối có thể phát ra
Khi bạn đang kết nối với một máy chủ MongoDB duy nhất ("độc lập"), Mongoose sẽ phát ra 'ngắt kết nối' nếu nó bị ngắt kết nối khỏi máy chủ độc lập và 'đã kết nối' nếu nó kết nối thành công với máy chủ độc lập. Trong một bộ bản sao, Mongoose sẽ phát ra 'ngắt kết nối' nếu nó mất kết nối với bộ bản sao chính và 'đã kết nối' nếu nó quản lý để kết nối lại với bộ bản sao chính Đối với các ứng dụng chạy lâu, thường nên bật 04 với số mili giây. Không có nó, sau một khoảng thời gian, bạn có thể bắt đầu thấy lỗi 05 mà dường như không có lý do. Nếu vậy, sau khi đọc phần này, bạn có thể quyết định kích hoạt 04 0 07 là số mili giây phải đợi trước khi bắt đầu 04 trên ổ cắm. 04 là đúng theo mặc định kể từ cầy mangut 5. 2. 0Để kết nối với một bộ bản sao, bạn chuyển một danh sách các máy chủ được phân tách bằng dấu phẩy để kết nối thay vì một máy chủ duy nhất 0Ví dụ 0Để kết nối với một bộ bản sao nút đơn, hãy chỉ định tùy chọn 06 7Trình điều khiển MongoDB cơ bản sử dụng một quy trình được gọi là lựa chọn máy chủ để kết nối với MongoDB và gửi các hoạt động tới MongoDB. Nếu trình điều khiển MongoDB không thể tìm thấy máy chủ để gửi thao tác tới sau 07, bạn sẽ gặp lỗi bên dưới 0Bạn có thể định cấu hình thời gian chờ bằng cách sử dụng tùy chọn 07 thành 3Một 14 có thuộc tính 15 giải thích lý do lựa chọn máy chủ hết thời gian chờ. Ví dụ: nếu bạn đang kết nối với một máy chủ độc lập bằng mật khẩu không chính xác, thì 15 sẽ chứa lỗi "Xác thực không thành công"Bộ bản sao MongoDB dựa vào khả năng tìm ra tên miền cho từng thành viên một cách đáng tin cậy. Trên Linux và OSX, máy chủ MongoDB sử dụng đầu ra của lệnh 17 để tìm ra tên miền để báo cáo cho bộ bản sao. Điều này có thể gây ra các lỗi khó hiểu nếu bạn đang kết nối với bộ bản sao MongoDB từ xa đang chạy trên một máy báo cáo 17 của nó là 6Nếu bạn đang gặp lỗi tương tự, hãy kết nối với bộ bản sao bằng trình bao 20 và chạy lệnh 21 để kiểm tra tên máy chủ của từng thành viên bộ bản sao. Làm theo hướng dẫn của trang này để thay đổi tên máy chủ của thành viên bộ bản saoBạn cũng có thể kiểm tra thuộc tính 22 của 23 để xem trình điều khiển Nút MongoDB nghĩ trạng thái của bộ bản sao của bạn là gì. Thuộc tính 22 chứa bản đồ mô tả máy chủBạn cũng có thể kết nối với nhiều phiên bản mongos để có tính sẵn sàng cao trong một cụm phân đoạn. Bạn không cần phải vượt qua bất kỳ tùy chọn đặc biệt nào để kết nối với nhiều mongos trong mongoose 5. x Cho đến nay chúng ta đã thấy cách kết nối với MongoDB bằng kết nối mặc định của Mongoose. Mongoose tạo kết nối mặc định khi bạn gọi 3. Bạn có thể truy cập kết nối mặc định bằng cách sử dụng 26Bạn có thể cần nhiều kết nối với MongoDB vì một số lý do. Một lý do là nếu bạn có nhiều cơ sở dữ liệu hoặc nhiều cụm MongoDB. Một lý do khác là làm việc xung quanh các chuyến tàu chậm. Hàm 27 nhận các đối số giống như hàm 3 và trả về một kết nối mới 0Đối tượng kết nối này sau đó được sử dụng để tạo và truy xuất các mô hình. Các mô hình luôn nằm trong phạm vi một kết nối 1Nếu bạn sử dụng nhiều kết nối, bạn nên đảm bảo rằng bạn xuất lược đồ chứ không phải mô hình. Xuất một mô hình từ một tệp được gọi là mẫu mô hình xuất. Mẫu mô hình xuất bị hạn chế vì bạn chỉ có thể sử dụng một kết nối Nếu bạn sử dụng mẫu lược đồ xuất, bạn vẫn cần tạo mô hình ở đâu đó. Có hai mẫu phổ biến. Đầu tiên là xuất một kết nối và đăng ký các mô hình trên kết nối trong tệp Một cách khác là đăng ký các kết nối với một bộ tiêm phụ thuộc hoặc mẫu đảo ngược kiểm soát (IOC) khác 2Mỗi 29, cho dù được tạo bằng 30 hay 31 đều được hỗ trợ bởi nhóm kết nối có thể định cấu hình nội bộ, mặc định có kích thước tối đa là 100. Điều chỉnh kích thước nhóm bằng các tùy chọn kết nối của bạn |