首页 > 解决方案 > Sails.js 连接到 Cloud mongoDb Atlas

问题描述

我创建了一个 Sails.js 应用程序,它正确连接到本地 MongoDB,但如果我想将它连接到云 mongodb,Sails 会引发错误。我应该怎么做才能解决它?

default: {
    adapter: 'sails-mongo',
    // url: 'mongodb://localhost:27017/referral' // this work fine
    url: 'mongodb+srv://MYUSERNAME:MYPASS@cluster0.ikncs.mongodb.net/referral?retryWrites=true&w=majority'
  },

错误:错误:钩子(orm)未能加载!错误:无法拆除 ORM 挂钩。错误详细信息:错误:违反一致性:尝试拆除default当前未向此适配器注册的数据存储 ( )。这通常是由于用户空间代码中的竞争条件(例如,尝试多次拆除同一个 ORM 实例),或者可能是由于此适配器中的错误。

错误:错误:数据存储的配置无效default:提供的 URL ('mongodb+srv://MYUSERNAME:MYPASS@cluster0.ikncs.mongodb.net/referral?retryWrites=true&w=majority') 的协议无效。如果包含,协议必须是“mongodb://”。

如果有人能迅速提供帮助,我将不胜感激

标签: javascriptnode.jsmongodbsails.js

解决方案


我有一个类似的问题。

我从 Atlas 获得的连接字符串适用于 Node 3.0 或更高版本,不适用于sails 适配器。

但是来自 Atlas for Node 版本 2.2.12 的连接字符串有效。

在 Atlas 中,单击连接 -> 连接到您的应用程序(使用 MongoDB 的本机驱动程序)-> 选择 Node.js 版本 2.2.12 或更高版本。使用它提供的连接字符串。


推荐阅读