Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Can';t使用C+连接到mongodb+;_C++_Mongodb - Fatal编程技术网

C++ Can';t使用C+连接到mongodb+;

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

操作系统ubuntu 13.10 64位

mongodb安装了aptitude,版本2.4.6,根据文档,连接到该版本应该没有问题

我有一个mongodb实例正在运行(现在的问题是本地主机)。我在中找到了示例代码,并尝试使用我拥有的客户端版本编译它。 这不起作用,所以我下载了git版本并自己编译了库。 我现在没有错误,但是,当尝试连接时,我得到了“无法连接”异常。 代码如下:

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");