mongoDB Atlas ♥︎ Sailsjs(水线sails-mongo适配器)
mongoDB Atlas ♥︎ Sailsjs (waterline sails-mongo adapter)
我刚刚创建了一个 MongoDB Atlas 帐户。
我正在使用带水线的风帆 sails-mongo 适配器
但我无法通过我的应用程序连接。
- 一切都是最新的。
- 我可以连接到任何其他数据库(localhost、digitalocean 服务器...)
- 我还可以通过他们的工具(MongoDB Compass)和 shell 使用 mongo cmd
连接到那个 MongoDB Atlas 数据库
但似乎 sails-mongo 无法使用该数据库,这需要非常 up-to-date mongo 版本
是否有人在使用 MDB Atlas && sailsjs?
(我考虑过重构我的应用程序,但它开始变得庞大而且似乎无法使用 "mongodb" 适配器)
版本:
-节点:6.3.1
- npm:3.10.6
- mongo(shell):3.4.2
- sails-mongo npm 模块:sails-mongo@0.12.2
错误信息提示连接超时。第一步是检查您的配置,它是否在 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 版本不兼容。你是哪个版本的运行?
it seems like sails-mongo is just not working with that db, which requires a very up-to-date mongo version
您一语中的——Sails v0.12.x 的当前 sails-mongo 适配器使用了不支持的本机 MongoDB 驱动程序版本使用 Atlas 所需的所有功能(例如 authSource
)。请参阅 Github 上的 this issue。
我们正在完成 Sails 1.0 的 sails-mongo
适配器的最后部分,它支持最新的选项并已成功通过 Atlas 测试,所以现在可能是开始准备 upgrade to version 1.0。在 Sails 1.0 发布后,我们将只对使用 v0.12.x 的模块进行错误修复和安全补丁。
大家好,感谢您的提示和 SailsJS 团队,我能够找出一些可以帮助您解决此问题的方法(我能够做到):
- 将您的 sails-mongo 更新到 v0.12.3
npm install sails-mongo@0.12.3 --save
- 更新 sails-mongo 对 v2.2.25 的 mongodb 依赖。您可以进行此编辑 package.json。该版本包含对 replicaSets 连接的修复:https://github.com/mongodb/node-mongodb-native/commit/915d5c8a765151fb14942445a92d92a0e9e9c942#diff-88dc7475eedf918122374be6d7c2c151R12
- 确保 mongodb 的 mongodb-core 版本至少为 v2.1.9。
现在我直接去创建我的连接是这样的:
{
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 团队!
我刚刚创建了一个 MongoDB Atlas 帐户。
我正在使用带水线的风帆 sails-mongo 适配器
但我无法通过我的应用程序连接。
- 一切都是最新的。
- 我可以连接到任何其他数据库(localhost、digitalocean 服务器...)
- 我还可以通过他们的工具(MongoDB Compass)和 shell 使用 mongo cmd 连接到那个 MongoDB Atlas 数据库
但似乎 sails-mongo 无法使用该数据库,这需要非常 up-to-date mongo 版本
是否有人在使用 MDB Atlas && sailsjs? (我考虑过重构我的应用程序,但它开始变得庞大而且似乎无法使用 "mongodb" 适配器)
版本: -节点:6.3.1 - npm:3.10.6 - mongo(shell):3.4.2 - sails-mongo npm 模块:sails-mongo@0.12.2
错误信息提示连接超时。第一步是检查您的配置,它是否在 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 版本不兼容。你是哪个版本的运行?
it seems like sails-mongo is just not working with that db, which requires a very up-to-date mongo version
您一语中的——Sails v0.12.x 的当前 sails-mongo 适配器使用了不支持的本机 MongoDB 驱动程序版本使用 Atlas 所需的所有功能(例如 authSource
)。请参阅 Github 上的 this issue。
我们正在完成 Sails 1.0 的 sails-mongo
适配器的最后部分,它支持最新的选项并已成功通过 Atlas 测试,所以现在可能是开始准备 upgrade to version 1.0。在 Sails 1.0 发布后,我们将只对使用 v0.12.x 的模块进行错误修复和安全补丁。
大家好,感谢您的提示和 SailsJS 团队,我能够找出一些可以帮助您解决此问题的方法(我能够做到):
- 将您的 sails-mongo 更新到 v0.12.3
npm install sails-mongo@0.12.3 --save
- 更新 sails-mongo 对 v2.2.25 的 mongodb 依赖。您可以进行此编辑 package.json。该版本包含对 replicaSets 连接的修复:https://github.com/mongodb/node-mongodb-native/commit/915d5c8a765151fb14942445a92d92a0e9e9c942#diff-88dc7475eedf918122374be6d7c2c151R12
- 确保 mongodb 的 mongodb-core 版本至少为 v2.1.9。
现在我直接去创建我的连接是这样的:
{ 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 团队!