J'ai trouvé une solution pour moi en essayant de me connecter par mongoose.
!!!Tout d'abord, vous devez spécifier la base de données même si vous souhaitez vous connecter à la base de données par défaut (la base de données par défaut est 'admin') c'est important !!! Avant que je spécifie la base de données /admin mes données se mélangeaient de plusieurs bases de données.
Vous devez spécifier les informations d'identification (comme le nom d'utilisateur et le mot de passe) pour la base de données correcte (dans mon cas admin
(Je n'ai jamais créé de base de données admin
auparavant, c'est la base de données par défaut)).
Mais que faire si vous voulez vous connecter à une autre base de données? Vous devez utiliser la méthode authSource
dans les options de connexion (spécifiez une autre base de données dans l'URI: mongodb://localhost:27017/database):
mongoose.connect(
mongoUri,
{
authSource: 'admin',
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
user: config.mongo.username,
pass: config.mongo.password,
serverSelectionTimeoutMS: 5000,
},
(err) => {
if (err != null) {
error('mongoose', err.message);
} else {
info('mongoose', 'mongoose connecté');
}
},
)