2017-02-04 69 views
1

我一直在尝试为mongodb工作获取新的C++驱动程序。此时我可以创建新的数据库/集合,添加文档并生成查询。我的问题是当我尝试使用create_index方法创建索引时。用新的MongoDB C++驱动程序创建索引

从文档的语法是:

bsoncxx ::文件::值mongocxx ::收集:: CREATE_INDEX(bsoncxx ::文件:: view_or_value键, 常量选项::指数&选项=选项: :指数()

我拿到钥匙的一部分,它看起来像{“某种类型的”:1}

什么我有试图找出选项的一部分应该是什么样子,我的问题。相对较新的C + + 11(但有很多C和旧的C++经验),并有尝试平等的问题选择部分。有人可以提供一个例子,假设我想要指定一个“名称”和其他类似“default_language”的选项部分应该看起来像?

感谢

回答

1

请参阅mongocxx index example,应提供的是如何工作的一些很好的例子。

一般情况下,你将构建在堆栈上mongocxx::options::index类型的对象,调用对象的方法,您认为合适(你的情况下,看到mongocxx::options::index::namemongocxx::options::index::default_language方法)来设置选项,如下所示:

db["foo"].drop(); 
bsoncxx::builder::stream::document index_builder; 
mongocxx::options::index index_options{}; 
index_builder << ... 
index_options.name("my_nifty_index"); 
index_options.default_language("spanish"); 
db["foo"].create_index(index_builder.view(), index_options);