sails-mongo auth error in sails 0.10

南笙酒味 提交于 2019-12-11 14:35:45

问题


Using "sails-mongo": "^0.10.0-rc2", "sails": "~0.10.0-rc4" I'm getting the following error on sails lift.

verbose: Loading adapter ( sails-mongo ) for algorithm  from `node_modules` directory...
Failed to load c++ bson extension, using pure JS version
verbose: Starting ORM...
error: A hook (`orm`) failed to load!
error: MongoError: auth fails
    at Object.toError (/home/default/Projects/machine_learning_data_sets/machine-learning-    engine/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/utils.js:110:11)
    at /home/default/Projects/machine_learning_data_sets/machine-learning-    engine/node_modules/sails-    mongo/node_modules/mongodb/lib/mongodb/auth/mongodb_cr.js:39:33
    at /home/default/Projects/machine_learning_data_sets/machine-learning-engine/node_modules/sails-mongo/node_modules/mongodb/lib/mongodb/db.js:1806:9
    at Server.Base._callHandler (/home/default/Projects/machine_learning_data_sets/machine-    learning-engine/node_modules/sails-    mongo/node_modules/mongodb/lib/mongodb/connection/base.js:442:41)
    at /home/default/Projects/machine_learning_data_sets/machine-learning-    engine/node_modules/sails-    mongo/node_modules/mongodb/lib/mongodb/connection/server.js:485:18
    at MongoReply.parseBody (/home/default/Projects/machine_learning_data_sets/machine-    learning-engine/node_modules/sails-    mongo/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
    at null.<anonymous> (/home/default/Projects/machine_learning_data_sets/machine-learning-    engine/node_modules/sails-        mongo/node_modules/mongodb/lib/mongodb/connection/server.js:443:20)
    at EventEmitter.emit (events.js:95:17)
    at null.<anonymous> (/home/default/Projects/machine_learning_data_sets/machine-learning-    engine/node_modules/sails-    mongo/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:191:13)
    at EventEmitter.emit (events.js:98:17)
verbose: Lowering sails...
verbose: Sent kill signal to child process (12033)...
verbose: Shutting down socket server...
verbose: Shutting down HTTP server...

This is on a local mongodb that is reachable in the mongo console.

my connection is configured by

  mongo: {
    adapter   : 'sails-mongo',
    host      : 'localhost',
    port      : 27017,
    user      : '',
    password  : '',
    database  : 'mle'
  },

回答1:


I had trouble with various sails release candidates when I forgot to update to the matching sails-mongo package. You might update to the latest, sails 0.10.5 and sails-mongo 0.10.4. These work together.




回答2:


I had this same problem, I couldn't connect to an imported database, even though I tried by creating a lot of different users, with different roles.

So I run db.system.users.find(), and I notice a user, that I haven't created it. It was something like this:

{ "_id" : ObjectId("546699985feb7553f2e4dc32"), "user" : "newuser", "pwd" : "aaacf6ead2f12cbeb1a155b3021a3cda", "roles" : [ "userAdminAnyDatabase" ] }

So I went to the connections.js file, and after asking the old programmer what was the password for that user, and updated the username, and password.

Then just run sails lift, and luckily it had worked !




回答3:


You have probably troubles with your bson extension which is not loaded.

Your First Error:

Failed to load c++ bson extension, using pure JS version

Multiples origin possibles: bson or node-gyp unloaded or database is not present.

To solve an error providen by depedencies (please check each time you use a solution and stop reading me if any one succeed):

First Solution in the root directory of your application:

npm install

If it don't works second solution if you are on OSX:

xcode-select --install
rm -rf node_modules // OR npm update
npm cache clean // OR npm update
npm install // OR npm update

On Ubuntu the second solution:

sudo apt-get install gcc make build-essential
rm -rf node_modules // OR npm update
npm cache clean // OR npm update
npm install // OR npm update

Third solution if you think that bson is not présent under depedencies:

npm install bson

Maybe this one can save you if other doesn't work:

npm install -g node-gyp 

After it if it doesn't work:

git clone https://github.com/mongodb/js-bson.git
cd js-bson
npm install
node-gyp rebuild

Sorry for this wtf answer but it could help you or someone else.

Best Regards




回答4:


mongo: { adapter : 'sails-mongo', host : 'localhost', port : 27017, user : '',user: 'username', //optional password : '',password: 'password', //optional database : 'mle' },

user name and password are optional so don't need to give ,just comment it and run it .it's work for me!




回答5:


in my case i am using url for connect mongodb like below

adapter: 'sails-mongo',
url: 'mongodb://<USERNAME>:<PASSWORD>@<HOST>/<DATABASE>'


来源:https://stackoverflow.com/questions/22805608/sails-mongo-auth-error-in-sails-0-10

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!