我刚刚创建了一个MongoDB Atlas帐户。
我使用带有水线sails-mongo适配器的风帆
但我无法通过我的应用程序进行连接。
但似乎sails-mongo只是不使用该数据库,这需要一个非常新的mongo版本
是否有其他人使用MDB Atlas&& sailsjs? (我考虑过重构我的应用程序,但它已经开始成为huuge而且似乎不可能使用" mongodb"适配器)
版本: - 节点:6.3.1 - npm:3.10.6 - mongo(shell):3.4.2 - sails-mongo npm模块:sails-mongo@0.12.2
答案 0 :(得分:13)
嘿,感谢您的提示和SailsJS团队,我能够找到一些可以帮助您解决这个问题的事情(我能够):
npm install sails-mongo@0.12.3 --save
现在我直接开始创建我的连接:
{
adapter: 'sails-mongo',
url: 'mongodb://user:pass@server-1.mongodb.net:27017,server-2.mongodb.net:27017,server-3.mongodb.net:27017/test?ssl=true&replicaSet=server-&authSource=admin',
ssl: true
}
是的,您需要再次添加 ssl 参数。
通过查看sails v1.0代码,丢失的内容将由该更新修复;)谢谢SailsJS团队!
答案 1 :(得分:4)
似乎sails-mongo只是不使用该数据库,这需要一个非常新的mongo版本
你击中了头部 - Sails v0.12.x的当前sails-mongo适配器使用的本机MongoDB驱动程序版本不支持使用Atlas所需的所有功能(例如{{ 1}})。请参阅Github上的this issue。
我们正在完成Sails 1.0的authSource
适配器上的最后一位,它支持最新的选项并且已经使用Atlas成功测试过,所以现在可能是开始准备{{3 }}。在Sails 1.0发布之后,我们只会对与v0.12.x一起使用的模块进行错误修复和安全补丁。
答案 2 :(得分:0)
错误消息表明连接已超时。第一步是检查您的配置,是否在config/connections.js中正确填充了此格式?
// MongoDB is the leading NoSQL database.
// http://en.wikipedia.org/wiki/MongoDB
//
// Run:
// npm install sails-mongo
//
someMongodbServer: {
adapter: 'sails-mongo',
host: 'localhost',
port: 27017,
// user: 'username',
// password: 'password',
// database: 'your_mongo_db_name_here'
},
如果不是您的配置,则可能与您的sails,sails-mongo或Mongo DB版本不兼容。您运行的是哪些版本?