首页 > 解决方案 > 是否可以使用旧版 C++ API(版本 1.1.2)连接到 MongoDB Atlas?

问题描述

我正在尝试使用旧版(不再受支持) C++ API 1.1.2连接到 MongoDB Atlas 中的 MongoDB 4.2.3 ,并看到如下错误:

组件 [NETWORK],上下文 []:连接到服务器 cluster0-shard-00-02-zbydr.mongodb.net:27017 (52.48.177.64)

组件 [NETWORK],上下文 []:未检测到集合 Cluster0-shard-0 的主节点

组件 [NETWORK],上下文 []:设置 Cluster0-shard-0 的所有节点都已关闭。连续 33 次检查都发生了这种情况。轮询将在 -3 次失败检查后停止

连接失败 - 连接到副本集失败 Cluster0-shard-0/cluster0-shard-00-00-zbydr.mongodb.net:27017,cluster0-shard-00-01-zbydr.mongodb.net:27017,cluster0-shard- 00-02-zbydr.mongodb.net:27017

我可以毫无问题地通过 shell 和 Node.js 进行连接 - 所以问题要么是我的连接字符串格式错误,要么只是旧版 C++ API 无法连接到 MongoDB 4.2 / Atlas。我正在使用以下连接字符串:

mongodb://username:password@cluster0-shard-00-00-zbydr.mongodb.net:27017,cluster0-shard-00-01-zbydr.mongodb.net:27017,cluster0-shard-00-02-zbydr.mongodb.net:27017/database?replicaSet=Cluster0-shard-0&authSource=admin

我得出的结论是旧版 C++ API 无法连接到 MongoDB 4.2集群是否正确?(我已经测试了直接连接到 MongoDB 4.2 的单个实例,这似乎工作正常。)也许 Atlas 本身需要仅由较新的 API 支持的功能?

标签: c++mongodb

解决方案


推荐阅读