使用" 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'
},
答案 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',
}
};