有没有办法在ArangoDB中创建部分索引?

jgwigjjp  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(142)

我想为集合创建部分索引,但索引应该按条件应用于文档。例如,我想仅在文档具有特定字段值时检查文档的唯一性。换句话说,我正在寻找索引创建的一些构造:

db.person.createIndex( 
  { age: 1}, 
  { partialFilterExpression: { age: { $gte: 18 }}
);

此示例来自MongoDB,它对字段“age”值大于18的文档应用索引

vql8enpb

vql8enpb1#

没有办法创建一个“过滤索引”(像在SQL中那样)。根据docs,可以包含属性,但不能有条件地包含。
您可以尝试使用稀疏索引,但我认为最好的办法是将age属性添加到"skiplist"索引中,该索引支持排序和gt/lt求值。
请确保使用explain功能来验证索引使用情况。

相关问题