Sails-mongo无法与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,在这里可以选择nodejs驱动程序版本2.2.12 or later

以下网址对我有用:

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'

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