风帆中的sails-mongo auth错误0.10

时间:2014-04-02 08:27:39

标签: mongodb sails.js waterline

使用" sails-mongo":" ^ 0.10.0-rc2"," sails":" ~0.10.0-rc4&#34 ;我在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...

这是在mongo控制台中可以访问的本地mongodb。

我的连接由

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

6 个答案:

答案 0 :(得分:0)

当我忘记更新匹配的sails-mongo包时,我遇到了各种风帆释放候选人的问题。你可能会更新到最新的帆0.10.5和sails-mongo 0.10.4。这些一起工作。

答案 1 :(得分:0)

我遇到了同样的问题,我无法连接到导入的数据库,即使我尝试创建了许多具有不同角色的不同用户。

所以我运行db.system.users.find(),我注意到一个用户,我还没有创建它。它是这样的:

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

所以我去了 connections.js 文件,并询问旧程序员该用户的密码是什么,并更新了用户名和密码。

然后运行sails lift,幸运的是它已经运作了!

答案 2 :(得分:0)

你的bson扩展名可能没有加载。

你的第一个错误:

  

使用纯JS版

无法加载c ++ bson扩展

倍数原点可能:bson或node-gyp已卸载或数据库不存在。

解决依赖性提供的错误(请在每次使用解决方案时检查,如果任何一个成功,请停止阅读我):

应用程序根目录中的第一个解决方案:

npm install

如果你在OSX上,如果它不起作用第二个解决方案:

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

在Ubuntu上第二个解决方案:

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

第三种解决方案,如果你认为bson在依赖性下并不存在:

npm install bson

如果其他人不起作用,也许这个可以救你:

npm install -g node-gyp 

之后如果不起作用:

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

很抱歉这个wtf答案,但它可以帮助你或其他人。

最好的问候

答案 3 :(得分:0)

mongo:{     适配器:&#39; sails-mongo&#39;,     主持人:&#39; localhost&#39;,     港口:27017,     用户:&#39;&#39;,1     密码:&#39;&#39;,user: 'username', //optional     数据库:&#39; mle&#39;   },

用户名和密码是可选的,因此不需要提供,只需对其进行评论并运行它。这对我有用!

答案 4 :(得分:0)

就我而言,我正在使用url来连接mongodb,如下所示

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

答案 5 :(得分:0)

您可以像这样连接到数据库。

https://sailsjs.com/documentation/reference/configuration/sails-config-datastores

 // config/datastores.js
    module.exports.datastores = {
      default: {
        adapter: require('sails-mysql'),
        url: 'mysql://root:squ1ddy@localhost:3306/my_dev_db_name',
      }
    };