C++ 如何使用C++;

C++ 如何使用C++;,c++,mongodb,driver,C++,Mongodb,Driver,有一个很大的问题。像我这样的新手很难使用它的唯一原因就是缺少一些小例子。例如,我知道有一个名为getCollectionNames的方法,但我不知道如何使用它。在Python中,我会这样做: db = MongoClient(host, port)[db_name] colls = db.collection_names() 我做完了。但是我对C++感到不太舒服,我自己也不知道如何将文档中的原始函数声明转换成一些工作代码 所以,这就是我现在所做的,并看到它的工作: ConnectionStri

有一个很大的问题。像我这样的新手很难使用它的唯一原因就是缺少一些小例子。例如,我知道有一个名为
getCollectionNames
的方法,但我不知道如何使用它。在
Python
中,我会这样做:

db = MongoClient(host, port)[db_name]
colls = db.collection_names()
我做完了。但是我对
C++
感到不太舒服,我自己也不知道如何将文档中的原始函数声明转换成一些工作代码

所以,这就是我现在所做的,并看到它的工作:

ConnectionString cs = ConnectionString::parse(uri, errmsg);
DBClientBase * conn(cs.connect(errmsg));
现在我想更进一步,获取所有集合名称。请给我一些建议

编辑

我在
dbclientinterface.h
中找到了一个名为
getCollectionNames
的方法。它的定义如下:

std::list<std::string> getCollectionNames( const std::string& db,
                                           const BSON& filter = BSONObj())
std::list getCollectionNames(const std::string&db,
常量BSON&filter=BSONObj())
但是我发现这个没有任何信息提示的单独声明是完全无用的。这只是一个字母的总和,没有更多

编辑

我找到了一个解决方案,我将在下面发布。

这就是解决方案:

std::string uri = "mongodb://127.0.0.1:27017/mydb";
std::string errmsg;
ConnectionString cs = ConnectionString::parse(uri, errmsg);
DBClientBase * conn(cs.connect(errmsg));
std::list<std::string> colls = conn->getCollectionNames("mydb");
for(std::list<std::string>::iterator it = colls.begin();it != colls.end();++it){
     do_something(*it);
}
std::字符串uri=”mongodb://127.0.0.1:27017/mydb";
std::字符串errmsg;
ConnectionString cs=ConnectionString::parse(uri,errmsg);
DBClientBase*conn(cs.connect(errmsg));
std::list colls=conn->getCollectionNames(“mydb”);
对于(std::list::iterator it=colls.begin();it!=colls.end();++it){
做点什么(*它);
}