【问题标题】:Connecting to Mongo Atlas from local Apostrophe cms code从本地撇号 cms 代码连接到 Mongo Atlas
【发布时间】:2019-01-30 23:05:15
【问题描述】:

我已在 Mongo Atlas 上从 0.0.0.0/0 的任何位置启用连接。 在撇号代码中,在文件 data/local.js 中 我添加了以下代码:

module.exports = {
  modules: {
    'apostrophe-db': {
      uri: 'mongodb+srv://clustername.mongodb.net/dbname?retryWrites=true'
    }
  }
};
试过了 mongodb+srv://admin:@clustername.mongodb.net/dbname?retryWrites=true 也是。

我看到以下日志:

/home/radhika/code/demo/demo-io/node_modules/apostrophe/index.js:67
    throw err;
    ^
MongoError: not authorized on admin to execute command { listIndexes: "aposCache", cursor: {  } }
        at Function.MongoError.create (/home/radhika/code/demo/demo-io/node_modules/mongodb-core/lib/error.js:31:11)
        at queryCallback (/home/radhika/code/demo/demo-io/node_modules/mongodb-core/lib/cursor.js:212:36)
        at /home/radhika/code/demo/demo-io/node_modules/mongodb-core/lib/connection/pool.js:469:18
        at _combinedTickCallback (internal/process/next_tick.js:131:7)
        at process._tickCallback (internal/process/next_tick.js:180:9)

我在这里错过了什么?

【问题讨论】:

    标签: javascript mongodb apostrophe-cms


    【解决方案1】:

    如果您从集群中单击Connect 按钮并选择Connect your application,然后选择驱动程序版本2。这将为您提供如何连接的示例。

    【讨论】:

      【解决方案2】:

      我能够用 Atlas 重现这一点。您正在尝试使用 mongodb+srv URL,这是 Atlas 在使用 MongoDB 驱动程序 3.6 或更高版本时推荐的。 Apostrophe 2.x 目前在 MongoDB 2.x 驱动程序上,所以这不起作用。

      如果您点击“我正在使用驱动程序 3.4 或更早版本”选项卡,则需要使用您可以在 Atlas 上看到的旧式 URL:

      mongodb://user:password@test-shard-00-00-some-address.mongodb.net:27017,test-shard-00-01-some-address.mongodb.net:27017/test?ssl=true&replicaSet=your-replica-set-name&authSource=admin&retryWrites=true
      

      当我这样做时,我可以毫无问题地连接。

      如果您渴望使用更新版本的 MongoDB 驱动程序和新样式的 URI,您可以使用 apostrophe-db-mongo-3-driver 模块。但是,目前这并不是在 Atlas 上取得成功的强制性要求。

      在 Apostrophe 3.x 中,我们当然会使用开箱即用的新一代驱动程序。

      (最后一个仅供参考 - MongoDB 驱动程序版本和 MongoDB 服务器版本不是一回事。例如,您不需要 3.6 驱动程序来连接到 3.6。)

      【讨论】:

      • 我将它与具有管理员访问权限的实际凭据一起使用并得到了相同的错误。我想稍后在连接正常后删除无限制访问。data/local.js 是唯一需要编辑的文件吗?
      • 啊哈,这与使用他们推荐的更新版本的 mongodb 驱动程序 Apostrophe 当前未随附的连接 URI 有关。请参阅我的更新答案。
      • 你能帮我处理一下stackoverflow.com/questions/52039510/…吗?
      猜你喜欢
      • 1970-01-01
      • 2019-04-04
      • 2021-03-05
      • 1970-01-01
      • 2022-12-21
      • 1970-01-01
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      相关资源
      最近更新 更多