使用$或运算符的Cloudant查询会发出警告:
“找不到匹配的索引,创建一个索引来优化查询时间”
虽然索引存在?样本信息如下所示:
索引使用:
db.index({
ddoc: "document_id",
type: "json",
index: {
fields: ["emailid", "mobileno"]
}
});
查询已使用:
selector: {
$or: [
{
emailid: email_id
},
{
mobileno: mobile
}
]
}
你可以在couchdb项目中找到一个类似问题的问题。 "$or operator slow"
在该问题中,他们得出结论,必须在$的两侧存在相同的字段,或者为了选择索引。
您的情况不符合此条件,因此查询将回退到_all_docs索引(db内容的完整扫描)