如何使用mongo C驱动程序的用户名密码构造URI。

时间:2016-01-08 06:59:10

标签: c mongodb mongo-c-driver

我正在使用mongo 3.0.8。我有一个经过身份验证的用户admin和密码admin。我可以按如下方式连接到mongo shell。

mongo admin -u amdin -p amdin

但是,我尝试连接到使用以下C代码。这给了我一个错误

  

警告:客户端:无法连接到:ipv4 127.0.0.1:27017,   错误:111,拒绝连接

char URI[256];
snprintf(URI,256,"mongodb://admin:admin@127.0.0.1:27017/?authSource=admin");
mongoc_client_t *client = mongoc_client_new(URI);

1 个答案:

答案 0 :(得分:1)

错误error: 111, Connection refused是网络错误。 您的URI希望找到在同一台机器(127.0.0.1)的端口27017上侦听的服务器。可能的问题:

  • 服务器未运行
  • 服务器不在该端口上
  • 服务器绑定到本机的“真实IP地址”。
  • 有本地防火墙(例如iptables)阻止访问
  • 也许是SELinux问题?

如果这是一个Linux机器,这些命令可能有助于诊断:

netstat -an -A inet | grep LISTEN
/sbin/iptables -L