Vấn đề là người dùng cơ sở dữ liệu đang được tạo trên admin
cơ sở dữ liệu thay vì dbname
.
Bỏ qua /dbname
từ chuỗi kết nối / mongo shell / v.v. có nghĩa là chuỗi kết nối sẽ xác thực với admin
cơ sở dữ liệu. Trích dẫn tài liệu:
( https://docs.mongodb.com/manual/reference/connection -string / # thành phần ).
Nếu /dbname
được xác định, sau đó chuỗi kết nối sẽ xác thực với dbname
trừ khi authSource
tham số được cấu hình để chỉ định cơ sở dữ liệu mà người dùng cư trú.
Bạn có thể xác nhận rằng đây là trường hợp bằng cách thêm authSource=admin
vào chuỗi kết nối hoặc --authenticationDatabase admin
tới lệnh shell mongo
.
Ngoài ra, bạn có thể sử dụng db.getUsers()
để xem cơ sở dữ liệu mà người dùng đã được tạo.