Tôi đã tạo một người dùng cho người dùng/mật khẩu được sử dụng trong mã ở trên bằng lệnh db. người tạo [] trong shell Mongo. exe và đây là những thông tin tương tự mà tôi đã cung cấp khi cài đặt MongoDB
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
But code is not to public
Exception in thread "main" com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='myuser', source='mydatabase', password=, mechanismProperties={}}
Tôi còn thiếu gì ở đây?
Connected
You can connect with MongoDB with the method
mongoose.connect['mongodb://localhost:27017/myapp'];
1. mongoose.connect['mongodb://localhost:27017/myapp'];
Đây là mức tối thiểu cần thiết để kết nối cơ sở dữ liệu
mongoose.connect['mongodb://localhost:27017/myapp'];
2 chạy bộ 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ụngmongoose.connect['mongodb://localhost:27017/myapp'];
3 thay thếmongoose.connect['mongodb://localhost:27017/myapp'];
4You can also just an a other tham số in
mongoose.connect['mongodb://localhost:27017/myapp'];
5. ________số 8Xem tham số chuỗi kết nối MongoDB để biết thêm chi tiết
- buffers
- Xử lý lỗi
- Tùy chọn
- Tùy chọn chuỗi kết nối
- Sự kiện kết nối
- Một lưu ý về Keepalive
- Server select server
- Sao đặt kết nối bản sao
- Sao chép tên máy chủ
- Support many people
- Nhiều kết nối
- Group connection
Mỗi db. người dùng tạo [{ người dùng. "người dùng của tôi", pwd. "mật khẩu của tôi", vai trò. [{vai diễn. "userAdminAnyDatabase" , db. "admin"}]}] 47, cho dù được tạo bằng db. người dùng tạo [{ người dùng. "người dùng của tôi", pwd. "mật khẩu của tôi", vai trò. [{vai diễn. "userAdminAnyDatabase" , db. "admin"}]}] 48 hoặc db. người dùng tạo [{ người dùng. "người dùng của tôi", pwd. "mật khẩu của tôi", vai trò. [{vai diễn. "userAdminAnyDatabase" , db. "admin"}]}] 49 đều được hỗ trợ bởi kết nối nhóm có thể cấu hình bên trong mặc định ở 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 tùy chọn
mongoose.connect['mongodb://localhost:27017/myapp'];
0Tiếp theoBây giờ chúng ta đã đề cập đến các kết nối, chúng ta hãy xem các mô hình
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
1Connected
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
2You can connect with MongoDB with the method
mongoose.connect['mongodb://localhost:27017/myapp'];
1. db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
4Xử lý lỗi
Tùy chọn
- Chuỗi kết nối tùy chọn không tự động cố gắng kết nối lại
- Sự kiện kết nối
Một lưu ý về Keepalive
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
5Server select server
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
0Sao đặt kết nối bản sao
Tùy chọn
Tùy chọn chuỗi kết nối
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
1Sự kiện kết nối
- Một lưu ý về Keepalive
- ________ 51/________ 52 - Tên người dùng và mật khẩu để xác thực. Các tùy chọn này là đặc trưng cho Mongoose, chúng tương đương với các tùy chọn
83 vàdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
84 của người điều khiển MongoDBdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
85 - Theo mặc định, Mongoose sẽ tự động xây dựng các chỉ mục được xác định trong Lược đồ của bạn khi nó kết nối. Điều này là tuyệt vời cho sự phát triển, nhưng không lý tưởng cho việc phát triển khai thác sản xuất lớn, bởi vì các bản phát triển chỉ có thể gây ra sự suy giảm hiệu suất. If you set_______085 to Sai, Mongoose will not auto build the index for any models are links to this connection. bất kỳ mô hình liên kết với kết nối nàydb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
87 - Chỉ định cơ sở dữ liệu nào để kết nối và ghi lại bất kỳ cơ sở dữ liệu nào được chỉ định trong chuỗi kết nối. Điều này rất hữu ích nếu bạn không thể chỉ định cơ sở dữ liệu mặc định trong chuỗi kết nối như với một số cú pháp kết nốidb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
88db.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
Dưới đây là một số tùy chọn quan trọng để điều chỉnh Mongoose
89 - Đặt thư viện lời hứa của người lái xe cơ bảndb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
10 - Số lượng ổ cắm tối đa mà trình điều khiển MongoDB sẽ tiếp tục mở cho kết nối này. Theo default,db.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
10 is 100. Hãy nhớ rằng MongoDB chỉ cho phép một thao tác mỗi ổ cắm cùng một lúc, bởi vì bạn có thể muốn tăng điều này nếu bạn thấy bạn có một vài truy vấn chậm đang chặn các truy vấn nhanh hơn tiến hành. Xem các chuyến tàu chạy chậm trong MongoDB và Node. js. Bạn có thể muốn giảmdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
10 nếu bạn đang chạy vào giới hạn kết nốidb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
13 - Số lượng ổ cắm tối thiểu mà trình điều khiển MongoDB sẽ tiếp tục mở cho kết nối này. Người lái xe MongoDB có thể đóng các ổ cắm đã không hoạt động trong một thời gian. Bạn có thể muốn tăng ____ 013 nếu bạn mong đợi ứng dụng của bạn sẽ trải nghiệm khoảng thời gian nhàn nhã và muốn đảm bảo ổ cắm của bạn mở để tránh các chuyến tàu chạy chậm khi hoạt động tăng lêndb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
15 - Trình điều khiển MongoDB sẽ đợi bao lâu trước khi kill một ổ cắm không hoạt động sau khi kết nối cấm đầu. Một ổ cắm không thể hoạt động vì không hoạt động hoặc không hoạt động lâu. Điều này được đặt thànhdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
16 Theo mặc định, bạn nên đặt điều này thành 2-3x Hoạt động chạy lâu nhất của mình nếu bạn mong đợi một số hoạt động cơ sở dữ liệu của bạn sẽ chạy lâu hơn 20 giây. Tùy chọn này được chuyển đến chức năng Nút. jsdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
17 sau khi trình điều khiển MongoDB hoàn tất thành côngdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
18 - Cho phép kết nối bằng IPv4 hoặc IPv6. Tùy chọn này được chuyển đến hàmdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
19 của nút. js. Nếu bạn không chỉ định tùy chọn này, trình điều khiển MongoDB sẽ thử nghiệm IPv6 trước và sau đó là IPv4 nếu IPv6 không thành công. Nếu cuộc gọidb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
20 của bạn mất nhiều thời gian, hãy thửdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
21db.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
22 - Cơ sở dữ liệu để sử dụng khi xác thực vớidb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
81 vàdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
82. Trong MongoDB, người dùng được đưa vào cơ sở dữ liệu. Nếu bạn gặp lỗi đăng nhập bất ngờ, bạn có thể đặt tùy chọn nàydb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
25 - Trình điều khiển MongoDB sẽ cố gắng tìm một máy chủ để gửi bất kỳ hoạt động nào đến và tiếp tục thử lại chodb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
25 mili giây. Nếu không được đặt, trình điều khiển MongoDB mặc định sử dụngdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
16 [30 giây]db.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
28 - Trình điều khiển MongoDB gửi nhịp tim mỗidb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
28 để kiểm tra trạng thái của kết nối. Một nhịp tim phải chịudb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
25, vì vậy người lái xe MongoDB sẽ thử lại nhịp tim bị lỗi trong thời gian tối đa 30 giây theo mặc định. Mongoose chỉ phát ra một sự kiệndb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
41 sau khi nhịp tim bị lỗi, vì vậy bạn có thể muốn giảm cài đặt này để giảm thời gian giữa khi máy chủ của bạn giảm và khi Mongoose phát radb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
41. Chúng tôi khuyên bạn không nên đặt cài đặt này dưới 1000, quá nhiều nhịp có thể dẫn đến suy giảm hiệu suất. không đặt cài đặt này dưới 1000, quá nhiều nhịp tim có thể dẫn đến suy giảm hiệu suấtdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
Tùy chọn
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
25 cũng xử lý thời gianmongoose.connect['mongodb://localhost:27017/myapp'];
1 sẽ thử lại kết nối ban đầu bị cấm trước khi xảy ra lỗi. mongoose.connect['mongodb://localhost:27017/myapp'];
1 sẽ thử lại trong 30 giây theo mặc định [defaultdb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
25] trước khi xảy ra lỗi. Để nhận được phản hồi nhanh hơn về các hoạt động thất bại, bạn có thể giảmdb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
25 xuống 5000 như được hiển thị bên dướiThí dụ
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
2Xem trang này để biết thêm thông tin về
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
48 vàdb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
15Call back
Giăm bông
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
50 cũng chấp nhận tham số gọi lại và trả về lời hứa. db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
3Tùy chọn chuỗi kết nối
Bạn cũng có thể chỉ định các tùy chọn điều khiển trình điều khiển trong chuỗi kết nối của mình làm 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 đổi để điều khiển MongoDB. Bạn không thể đặt các tùy chọn dành riêng cho Mongoose như
mongoose.connect['mongodb://localhost:27017/myapp'];
6 trong chuỗi truy vấn. không thể đặt các tùy chọn dành riêng cho Mongoose nhưmongoose.connect['mongodb://localhost:27017/myapp'];
6 trong chuỗi truy vấndb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
4Nhược điểm của việc đặt các tùy chọn vào 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
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
15,db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
48, v. v. Thực phẩm tốt nhất là đặt các tùy chọn có khả năng khác nhau giữa phát triển và sản xuất, nhưdb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
54 hoặcdb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
55, trong chuỗi kết nối, trong chuỗi kết nối, và các tùy chọn vẫn không thay đổi, nhưdb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
48 hoặcdb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
10, trong các đối tượng Tùy chọnTài liệu MongoDB có một 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
22 - Cơ sở dữ liệu để sử dụng khi xác thực vớidb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
81 vàdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
82. Trong MongoDB, người dùng được đưa vào cơ sở dữ liệu. Nếu bạn gặp lỗi đăng nhập bất ngờ, bạn có thể đặt tùy chọn nàydb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
18 - Cho phép kết nối bằng IPv4 hoặc IPv6. Tùy chọn này được chuyển đến hàmdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
19 của nút. js. Nếu bạn không chỉ định tùy chọn này, trình điều khiển MongoDB sẽ thử nghiệm IPv6 trước và sau đó là IPv4 nếu IPv6 không thành công. Nếu cuộc gọidb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
20 của bạn mất nhiều thời gian, hãy thửdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
21db.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
Sự kiện kết nối
Các kế thừa kế thừa từ lớp
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
05 of Node. js 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
06. phát ra khi Mongoose bắt đầu thực hiện kết nối ban đầu với máy chủ MongoDBdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
07. phát ra khi Mongoose thực hiện thành công lệnh cấm kết nối với máy chủ MongoDB hoặc khi Mongoose kết nối lại sau khi mất kết nối. Có thể phát nhiều lần nếu Mongoose mất kết nốidb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
08. play out afterdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
09 anddb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
10 was done thi on all the models of this connectiondb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
11. Ứng dụng của bạn có tên_______012 để ngắt kết nối với MongoDBdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
6. phát ra khi Mongoose mất kết nối với máy chủ MongoDB. Sự kiện này có thể là do mã của bạn được xác định rõ ràng về kết nối, sự cố máy chủ cơ sở dữ liệu hoặc sự cố kết nối mạng.mongoose.connect['mongodb://username:[email protected]:port/database?options...'];
14. play out afterdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
12 Close to public connection. If you calldb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
16, you will accept the both event 'lack connection' and the event 'đóng'db.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
17. phát ra nếu Mongoose mất kết nối với MongoDB và kết nối lại thành công. Mongoose cố gắng tự động kết nối lại khi mất kết nối với cơ sở dữ liệudb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
18. phát ra nếu xảy ra lỗi trên kết nối, _db.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
19 do dữ liệu không đúng hình hoặc tải trọng lớn hơn 16MBdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
20. phát ra khi bạn kết nối với một bộ sao chép và Mongoose đã kết nối thành công với chính và ít nhất một phụdb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
21. phát ra khi bạn kết nối với bộ sao và Mongoose đã kết nối thành công với tất cả các máy chủ được chỉ định trong chuỗi kết nối của bạndb.createUser[ { user: "myuser", pwd: "mypassword", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
Khi bạn 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 vớ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 . Trong một bộ sao, Mongoose sẽ phát ra 'ngắt kết nối' nếu nó mất kết nối với 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ản sao.
Một lưu ý về Keepalive
Đối với các ứng dụng đang chạy dài, thường nên kích hoạt
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
22 with a number mili giây. Không có nó, sau một khoảng thời gian, bạn có thể bắt đầu thấy các lỗi_______023 cho những thứ có vẻ như không có lý do. Nếu vậy, sau khi đọc điều này, bạn có thể quyết định bậtdb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
22. db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
5db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
25 is number mili seconds must wait before when started_______022 on socket. db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
22 is true by default because Mongoose 5. 2. 0Sao đặt kết nối bản sao
Để kết nối với một bản sao, bạn đã vượt qua danh sách các máy chủ được phân định dấu hài để kết nối thay vì một máy chủ duy nhất
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
6Ví dụ
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
7To connect with one bản sao nút duy nhất, only option
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
54. db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
8Server select server
Trình điều khiển cơ bản MongoDB 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 đến MongoDB. Nếu trình điều khiển MongoDB không thể tìm thấy máy chủ để gửi hoạt động đến sau
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
25, bạn sẽ nhận được lỗi dưới đây. db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
9You can't cấu hình thời gian chờ đợi bằng tùy chọn
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
25 đểmongoose.connect['mongodb://localhost:27017/myapp'];
1. Exception in thread "main" com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='myuser', source='mydatabase', password=, mechanismProperties={}}
0MỘT
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
32 có thuộc tínhdb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
33 giải thích lý do tại sao lựa chọn máy chủ bị định thời. Ví dụ. nếu bạn đang kết nối với máy chủ độc lập với mật khẩu không chính xác,db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
33 sẽ chứa lỗi "xác thực không thành công". Exception in thread "main" com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='myuser', source='mydatabase', password=, mechanismProperties={}}
1Sao chép tên máy chủ
Bản sao MongoDB dựa trên việc có thể tìm ra tên miền cho mỗi thành viên. Trên Linux và OSX, máy chủ MongoDB sử dụng đầu ra của lệnh
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
35 to find out domain to report for the copy copy. Điều này có thể gây ra các lỗi khó hiểu nếu bạn kết nối với bộ sao MongoDB từ xa đang chạy trên máy báo cáodb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
35 của nó làmongoose.connect['mongodb://localhost:27017/myapp'];
4Exception in thread "main" com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='myuser', source='mydatabase', password=, mechanismProperties={}}
2Nếu bạn gặp lỗi tương tự, hãy kết nối với bộ sao bằng cách sử dụng shell
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
38 và chạy lệnhdb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
39 để kiểm tra tên máy chủ của từng thành viên trong bộ sao. Thực hiện theo hướng dẫn của trang này để thay đổi tên máy chủ của thành viên đã đặt bản saoBạn cũng có thể kiểm tra thuộc tính
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
40 củadb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
41 để xem nút điều khiển MongoDB nghĩ rằng trạng thái của bộ bản sao của bạn là gì. Thuộc tínhdb.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
40 chứa bản đồ máy chủ mô tả. Exception in thread "main" com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='myuser', source='mydatabase', password=, mechanismProperties={}}
3Support many people
Bạn cũng có thể kết nối với nhiều trường hợp Mongo để có tính sẵn sàng cao trong cụm Sharded. 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 Mongo trong Mongoose 5. x
Exception in thread "main" com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='myuser', source='mydatabase', password=, mechanismProperties={}}
4Nhiều kết nối
Cho đến nay, chúng tôi đã 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
mongoose.connect['mongodb://localhost:27017/myapp'];
1. Bạn có thể truy cập kết nối mặc định bằng ____044You can need many connect to MongoDB because many reason do. Một lý do là nếu bạn có nhiều cơ sở dữ liệu hoặc nhiều cụm từ mongoDB. Một lý do khác là làm cho công việc xung quanh các chuyến tàu chạy chậm. Giăm bông
db.createUser[
{ user: "myuser",
pwd: "mypassword",
roles:[{role: "userAdminAnyDatabase" , db:"admin"}]}]
45 có các đối số giống như _mongoose.connect['mongodb://localhost:27017/myapp'];
1 và trả về một kết nối mới. Exception in thread "main" com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='myuser', source='mydatabase', password=, mechanismProperties={}}
5Đố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 được đưa vào một kết nối duy nhất. luôn nằm trong phạm vi một kết nối
Exception in thread "main" com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='myuser', source='mydatabase', password=, mechanismProperties={}}
6Nế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 các lược đồ chứ không phải các mô hình. Xuất một mô hình từ một tệp được gọi là mô hình xuất mô hình. Mẫu mô hình xuất bị hạn chế do bạn chỉ có thể sử dụng một kết nối. không phải người mẫu. 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
Exception in thread "main" com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='myuser', source='mydatabase', password=, mechanismProperties={}}
7Nếu bạn sử dụng lược đồ xuất bản mẫu, bạn vẫn cần tạo các mô hình ở đâu đó. Có hai mẫu phổ biến. Đầu tiên là xuất kết nối và đăng ký các mô hình trên kết nối trong tệp
Exception in thread "main" com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='myuser', source='mydatabase', password=, mechanismProperties={}}
8Một cách khác là đăng ký các kết nối với kim phun phụ thuộc hoặc một mô hình đảo ngược khác của bộ điều khiển [IOC]