使用$ or运算符的Cloudant查询会给出警告:
“找不到匹配的索引,请创建索引以优化查询时间”
尽管存在索引?示例信息如下所示:
使用的索引:
db.index({
ddoc: "document_id",
type: "json",
index: {
fields: ["emailid", "mobileno"]
}
});
查询二手车:
selector: {
$or: [
{
emailid: email_id
},
{
mobileno: mobile
}
]
}
答案 0 :(得分:1)
您可以在ouchdb项目中找到一个讨论类似问题的问题。 "$or operator slow"
在该问题中,他们得出结论,必须在$ or的两侧都存在相同的字段才能选择索引。
您的大小写不符合此条件,因此查询将退回到_all_docs索引(对数据库内容的全面扫描)