2014-06-29 4 views
0

J'ai une application meteor.js + mongo db (2.6).Meteor.js + Mongo externe. Meteor ne peut pas se connecter à Mongo

J'ai créé un utilisateur dans mongo comme ceci:

use meteor 
db.createUser(
    { 
    user: "meteor", 
    pwd: "password", 
    roles: 
    [ 
     { 
     role: "userAdmin", 
     db: "meteor" 
     } 
    ] 
    } 
) 

voici mon mongodb.conf:

dbpath=/data/db 
logpath=/var/log/mongodb/mongodb.log 
logappend=true 
port = 27017 

quand je mis auth = true alors mon application météore ne peut pas se connecter à mongo plus. Il dit

Exception in callback of async function: MongoError: auth failed

même erreur lorsque je tente de se connecter avec RoboMongo quand auth est vrai. Quand auth est faux, je peux me connecter avec RoboMongo. Donc, il ne s'agit pas de pare-feu ou de quelque chose.

Je ne comprends pas, ce que je peux faire pour activer l'autorisation dans Mongo, de sorte qu'il me laisserait me connecter. S'il vous plaît aider.

+0

Je ne sais pas si cela est lié, mais au moment d'écrire ces lignes, je pense que meteor ne supporte que jusqu'à la version 2.4.9 de mongo (au moins c'est ce que le [changelog] (https://github.com/meteor/ meteor/blob/devel/History.md) indique). J'ai vu d'autres questions où les gens ont indiqué que 2.6.x ne fonctionne pas. –

Répondre

1

Cela dépend de la façon dont vous démarrez Meteor. Vous devez lui dire quelle instance Mongo à utiliser et aussi fournir des informations appropriées comme ceci:

export MONGO_URL=mongodb://<username>:<password>@<host>:<port>/<db> 

C'est la façon dont je l'ai fait avec mes applications Meteor et un MongoDB dédié et cela fonctionne bien. Mais si RoboMongo n'est pas en mesure de se connecter, il se peut qu'il y ait un problème avec la configuration de Mongo. Vous pouvez utiliser cette commande pour activer l'authentification dans votre config:

mongod --auth --config /path/to/mongodb.conf 

Je suppose que vous avez un déjà utilisateur admin qui a été utilisé pour créer l'utilisateur de météore, vous rencontrer des problèmes si vous commencez à Mongo sans authentification, puis ajoutez un utilisateur de météore anonyme et redémarrez avec auth = true.

+0

droite, j'ai que 'MONGO_URL = mongodb: // meteor: mot de passe @ localhost: 27017/meteor' dans mon démon parvenu. Cela me donne cette erreur d'authentification. Et j'ai 'auth = true' dans mongodb.conf – delustra

Questions connexes