【问题标题】:Is there any way to create partial index in ArangoDB?有没有办法在 ArangoDB 中创建部分索引?
【发布时间】:2020-11-29 15:52:04
【问题描述】:

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

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

这个例子来自 MongoDB,它对字段 'age' 值大于 18 的文档应用索引

【问题讨论】:

    标签: arangodb


    【解决方案1】:

    没有办法创建“过滤索引”(就像在 SQL 中一样)。根据docs,您可以包含属性,但不是有条件的。

    您可以尝试使用稀疏索引,但我认为最好的办法是将age 属性添加到支持排序和gt/lt 评估的"skiplist" 索引中。

    确保您使用explain 功能到validate index usage

    【讨论】:

      猜你喜欢
      • 2014-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 2021-06-26
      • 2020-03-04
      相关资源
      最近更新 更多