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.