0

我们最近从 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 有这个问题吗?你能找到解决办法吗?

4

1 回答 1

1

部分索引是MongoDB 3.2 的一个特性,但是 TokuMX 是基于 MongoDB 3.0 的,所以这个 MongoDB 特性不适用于 TokuMX。

于 2016-09-05T15:32:23.880 回答