Mongodb sails 0.10中的sails mongo身份验证错误

Mongodb sails 0.10中的sails mongo身份验证错误,mongodb,sails.js,waterline,Mongodb,Sails.js,Waterline,使用“sails mongo”:“^0.10.0-rc2”,“sails”:“~0.10.0-rc4”我在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

使用“sails mongo”:“^0.10.0-rc2”,“sails”:“~0.10.0-rc4”我在
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...

当我忘记更新匹配的sails mongo包时,我遇到了各种sails发行候选版本的问题。您可能会更新到最新版本,sails 0.10.5和sails mongo 0.10.4。它们一起工作。

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

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

{ "_id" : ObjectId("546699985feb7553f2e4dc32"), "user" : "newuser", "pwd" : "aaacf6ead2f12cbeb1a155b3021a3cda", "roles" : [ "userAdminAnyDatabase" ] }
因此,我转到connections.js文件,在询问老程序员该用户的密码后,更新了用户名和密码


然后只需运行
帆式升降机
,幸运的是它已经工作了

未加载的bson扩展可能有问题

您的第一个错误:

加载C++ +BSON扩展失败,使用纯JS版本

多个源可能:bson或节点gyp已卸载或数据库不存在

要通过Dependencies解决错误providen(请在每次使用解决方案时进行检查,如果有任何解决方案成功,请停止阅读我):

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

npm install
如果它不起作用,第二个解决方案是,如果您在OSX上:

xcode-select --install
rm -rf node_modules // OR npm update
npm cache clean // OR npm update
npm install // OR npm update
关于第二个解决方案:

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
之后,如果它不工作:

npm install -g node-gyp 
git clone https://github.com/mongodb/js-bson.git
cd js-bson
npm install
node-gyp rebuild
很抱歉这个wtf的答案,但它可以帮助你或其他人

致以最诚挚的问候

mongo:{ 适配器:“sails mongo”, 主机:“localhost”, 港口:27017, 用户:'',
user:'用户名',//可选
密码:“”,
password://可选
数据库:“mle” },


用户名和密码是可选的,所以不需要给出,只需对其进行注释并运行即可。这对我来说很有用

在我的例子中,我使用url连接mongodb,如下所示

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

您可以像这样连接到DB


尝试删除空白>代码>用户<代码>和<代码>密码>代码>没有区别。我敢肯定我又弄糟了什么,似乎有人不久前在0.9.x版本的sails上遇到了非常类似的问题。一个干净的sails 0.10.0-rc4安装与上面的配置配合得很好。。。我肯定在某个地方搞砸了(可能是在上次迁移中)明白了。在添加我自己的连接之前,我没有删除示例mongo连接,即使它没有被任何型号使用,它仍然被调用。我可能应该给自己买一个橡皮鸭,在发布问题之前和它聊上几个小时。如果是这样的话——任何模型都没有使用mongo连接示例——你肯定应该将其作为问题发布在网站上。只有当模型连接到连接时,才应该使用连接。关于您的答案,有几点想法:1。有点晚了(6年左右);2.它指的是sails v1文档,而不是用于该问题的v0.10;3.它建议使用mysql,而问题只针对mongodb。话虽如此,谢谢你的帮助。我还没有测试过这个,因为我正在做的项目已经结束很久了,改用django,但解决方案似乎是可行的,所以我继续并确认了它。。。