gpt4 book ai didi

c++ - 如何使用 C++ 获取 MongoDb 中的所有集合名称

转载 作者:可可西里 更新时间:2023-11-01 10:42:57 25 4
gpt4 key购买 nike

有一个很棒的MongoDb C++ Driver .唯一让像我这样的新手难以使用它的是缺少极小的示例。例如,我知道有一个名为 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::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);
}

关于c++ - 如何使用 C++ 获取 MongoDb 中的所有集合名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31840949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com