TokuMX 中的部分索引

Partial Indexes in TokuMX

我们最近从 MongoDB 切换到 TokuMX。在一个集合中,我们的文档都有一个数字字段,"docType"。有些文档有字段 "DL_Number",有些则没有。对于那些带有 "DL_Number" 字段的文档,"docType" 和 "DL_Number" 的组合应该作为唯一索引。

使用 C++ Legacy,我们最初创建的索引是这样的:

mongo::IndexSpec().addKey("docType").addKey("DL_Number").unique().partialFilterExpression(BSON("DL_Number" << BSON("$exists" << true)));

我们想要的是一个索引,其中 "docType" 和 "DL_Number" 将为具有字段 "DL_Number" 的文档提供唯一键。

语句在 MongoDB 中有效,但现在我们已经切换到 TokuMX,部分过滤器不再起作用。尝试插入没有 "DL_Number" 字段的第二个文档会引发异常。

有其他人在使用 TokuMX 时遇到过这个问题吗?您能找到解决方法吗?

部分索引是 MongoDB 3.2 feature, but TokuMX is based on MongoDB 3.0,因此此 MongoDB 功能不适用于 TokuMX。