Ref:
https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options
Você precisará usar o formato abaixo e não o banco de dados do administrador.
mongodb: // usuário: senha @ localhost / test? authSource = admin
/ database Opcional. O nome do banco de dados a ser autenticado se a cadeia de conexão incluir credenciais de autenticação na forma de nome de usuário: senha @. Se / database não for especificado e a cadeia de conexão incluir credenciais, o driver será autenticado no banco de dados do administrador.
Verifique se você tem um usuário no test
banco de dados. Veja a seção 6 deste documento.
Ativar autenticação
Crie usuários adicionais conforme necessário para sua implantação.
O banco de dados em que você cria o usuário (neste exemplo, teste) é o banco de dados de autenticação desse usuário. Embora o usuário se autentique neste banco de dados, ele pode ter funções em outros bancos de dados; ou seja, o banco de dados de autenticação do usuário não limita os privilégios do usuário.
use test
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)