C++ Can';t使用C+连接到mongodb+;
操作系统ubuntu 13.10 64位 mongodb安装了aptitude,版本2.4.6,根据文档,连接到该版本应该没有问题 我有一个mongodb实例正在运行(现在的问题是本地主机)。我在中找到了示例代码,并尝试使用我拥有的客户端版本编译它。 这不起作用,所以我下载了git版本并自己编译了库。 我现在没有错误,但是,当尝试连接时,我得到了“无法连接”异常。 代码如下:C++ Can';t使用C+连接到mongodb+;,c++,mongodb,C++,Mongodb,操作系统ubuntu 13.10 64位 mongodb安装了aptitude,版本2.4.6,根据文档,连接到该版本应该没有问题 我有一个mongodb实例正在运行(现在的问题是本地主机)。我在中找到了示例代码,并尝试使用我拥有的客户端版本编译它。 这不起作用,所以我下载了git版本并自己编译了库。 我现在没有错误,但是,当尝试连接时,我得到了“无法连接”异常。 代码如下: int main(int argc, char** argv) { cout<<"Mongo cl
int main(int argc, char** argv)
{
cout<<"Mongo client test.\r\n";
mongo::DBClientConnection conn;
try {
conn.connect("localhost");
}
catch(const mongo::DBException &e ) {
cout <<"error connecting to localhost:"<<endl;
std::cout << e.what()<<".\r\n";
return -1;
}
cout<<"connected!";
//cin;
return 0;
}
因为它确实编译并运行,所以我看不出进程有任何错误,但连接本身可能有错误,或者我可能忘记了什么
实例已启动并正在运行,JS客户端和robomongo连接到该实例时没有任何问题。
任何想法都将不胜感激 这不是一个真正的答案,但评论并不适用于这个细节: 首先,按照MongoDB站点上的说明进行操作。尚未检查,但您当前版本的版本号似乎较低 为了完整起见,请在连接中包含端口号,确保“localhost”上的其他客户端也使用此端口
conn.connect("localhost:27017");
两者都有助于诊断问题。似乎必须使用当前库。 虽然我已经安装了mongo dev(aptitude),但它不起作用。
当我使用下载的mongo文件夹时(修复了一些错误后),它工作得很好。@donald Well您的connect肯定有问题。您与运行
mongod
的主机在同一台主机上,是吗?是的。我刚刚通过使用lib头而不是mongo头解决了这个问题
conn.connect("localhost:27017");