MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Grails - Kết nối với cơ sở dữ liệu MongoDB bằng xác thực

Tôi đã gặp phải vấn đề tương tự này nên tôi có thể giúp giải thích cách Mongo thực hiện xác thực. Bạn thấy những gì bạn đã làm là bạn đã tạo một người dùng quản trị trong cơ sở dữ liệu quản trị, điều đó thật tuyệt. Tuy nhiên, bạn đang cố gắng kết nối trực tiếp với "mydb" với người dùng quản trị điều này không được phép. Nghe có vẻ khó hiểu? Đó là bởi vì nó là như vậy. Để minh họa điều này rõ hơn, đây là một bài tập đơn giản:

  1. Tạo người dùng cho db quản trị như bạn đã làm ở trên.
  2. thoát khỏi trình bao mongo
  3. chạy theo dõi

Điều đó sẽ thất bại. Nhưng hãy thử điều này thay thế.

Điều này sẽ hoạt động vì bạn đã chuyển sang db này với ngữ cảnh quản trị và không cố gắng kết nối trực tiếp với nó.

Vì vậy, tất cả những gì bạn cần làm để thực hiện công việc này là kết nối trực tiếp với DB bạn muốn và tạo người dùng ngay trong db đó như sau:

Cập nhật tệp cấu hình grails của bạn với tệp này và tôi cá với bạn rằng nó sẽ hoạt động.

Lưu ý rằng chỉ phần cuối cùng là câu trả lời của bạn và giải quyết vấn đề của bạn nhưng vì tôi đã vật lộn với điều này và tìm ra nó một cách khó khăn nên tôi nghĩ ngữ cảnh thực sự giúp hiểu mongo auth tốt hơn.

Chăm sóc




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Python Mogo ImportError:không thể nhập tên Kết nối

  2. MongoDB Stitch trả về dữ liệu dưới dạng $ NumberDouble thay vì chính là số

  3. ứng dụng nodejs - kết nối mongodb không thành công với lỗi ECONNREFUSED

  4. Không thể khởi chạy mongos

  5. Quá nhiều tùy chọn vị trí có nghĩa là gì khi thực hiện một mongoexport?