Sails-mongo 无法使用 MongoDB Atlas URI

Sails-mongo not working with MongoDB Atlas URI

我正在尝试使用以下配置:

datastores.js我试过了

adapter: 'sails-mongo',
url: 'mongodb+srv://xyz@cluster0.uaxyh.mongodb.net/xyz?retryWrites=true&w=majority',
ssl: true

以上URL为MongoDB图集

model.js

id: { type: 'string', columnName: '_id' }

做过npm install sails-mongo

我仍然无法连接到我的 "MongoDB"

我正在使用 "sails": "^1.2.4" , "sails-mongo": "^1.2.0"

为了您的信息,我想告诉您我能够使用 Mongoose 适配器连接到同一实例。

我得到的错误如下-

A hook (`orm`) failed to load!
Could not tear down the ORM hook.  Error details: Error: Consistency violation: Attempting to tear 
down a datastore (`default`) which is not currently registered with this adapter.  This is usually 
due to a race condition in userland code (e.g. attempting to tear down the same ORM instance more 
than once), or it could be
due to a bug in this adapter.  (If you get stumped, reach out at http://sailsjs.com/support.)
Error: Consistency violation: Unexpected error creating db connection manager:
MongoError: failed to connect to server [cluster0.uzpih.mongodb.net:27017] on first connect 
[MongoError: getaddrinfo ENOTFOUND cluster0.uzpih.mongodb.net cluster0.uzpih.mongodb.net:27017]

请指出我哪里做错了!提前致谢

您可以在 MongoDB 地图集 connection 选项卡中找到正确的 URL,您可以在其中 select nodejs驱动版本2.2.12 or later

以下 url 对我有用:

url: 'mongodb://USER:PASSWORD@DB01-shard-00-00-yxtfo.mongodb.net:27017,DB01-shard-00-01-yxtfo.mongodb.net:27017,DB01-shard-00-02-yxtfo.mongodb.net:27017/DB?ssl=true&replicaSet=DB01-shard-0&authSource=admin&retryWrites=true&w=majority'

用您的数据库配置替换正确的值并享受。