如何使用 mongocxx 驱动程序删除索引
How to drop index using mongocxx driver
我的程序提供了一个可配置的 ttl。所以我必须在每次程序启动时检查 ttl 索引,如果过期时间不正确,我必须重新索引它。
我在 mongoc 驱动程序中看到了 drop index 函数。但似乎在 mongocxx 驱动程序中没有这样的选项。我是否遗漏了任何 api 或是否有任何方法可以访问底层 mongoc_collection_t 对象,以便我可以调用 mongoc 驱动程序函数?
如果要删除单个索引,可以使用 drop_one
,或者使用索引名称:
db["collection"].indexes().drop_one("department_1");
或带文件:
db["collection"].indexes().drop_one(make_document(kvp("department", 1)));
小心,因为如果索引不存在,它会抛出。
要删除所有索引,您可以使用 drop_all
:
db["collection"].indexes().drop_all();
处有更多示例
我的程序提供了一个可配置的 ttl。所以我必须在每次程序启动时检查 ttl 索引,如果过期时间不正确,我必须重新索引它。
我在 mongoc 驱动程序中看到了 drop index 函数。但似乎在 mongocxx 驱动程序中没有这样的选项。我是否遗漏了任何 api 或是否有任何方法可以访问底层 mongoc_collection_t 对象,以便我可以调用 mongoc 驱动程序函数?
如果要删除单个索引,可以使用 drop_one
,或者使用索引名称:
db["collection"].indexes().drop_one("department_1");
或带文件:
db["collection"].indexes().drop_one(make_document(kvp("department", 1)));
小心,因为如果索引不存在,它会抛出。
要删除所有索引,您可以使用 drop_all
:
db["collection"].indexes().drop_all();
处有更多示例