使用$ or运算符的Cloudant Query发出警告-尽管存在索引,但“找不到匹配的索引,创建索引以优化查询时间”?

时间:2019-02-13 12:39:21

标签: couchdb query-performance cloudant

使用$ or运算符的Cloudant查询会给出警告:

  

“找不到匹配的索引,请创建索引以优化查询时间”

尽管存在索引?示例信息如下所示:

使用的索引:

db.index({
ddoc: "document_id",
type: "json",
index: {
      fields: ["emailid", "mobileno"]
    }
});

查询二手车:

selector: {
    $or: [
      {
        emailid: email_id
      },
      {
        mobileno: mobile
      }
    ]
  }

1 个答案:

答案 0 :(得分:1)

您可以在ouchdb项目中找到一个讨论类似问题的问题。 "$or operator slow"

在该问题中,他们得出结论,必须在$ or的两侧都存在相同的字段才能选择索引。

您的大小写不符合此条件,因此查询将退回到_all_docs索引(对数据库内容的全面扫描)