我有一个查询-
db.getCollection('Plan').find(
{$or:[
{"_id":{$in:["PLN000000020","PLN000000014"]}},
{$text:{$search:"test"}}]
})
.sort(
{ "name": 1 }
)
.skip(0)
.limit(10)
.collation(
{locale:'en'}
)
在'_id'上有一个索引,还有一个全文本搜索索引(“ $ **”:“ text”)
此查询失败:错误处理查询:ns = Apeiron.Plan limit = 10树:$ or \ n _id $ in [\“ PLN000000014 \” \“ PLN000000020 \”] \ n TEXT:query = test,language =英语,caseSensitive = 0,diacriticSensitive = 0,标记= NULL \ n排序:
{名称:1.0} \ nProj:{} \ n整理:
{语言环境:\“ en \”} \ n规划师返回了错误:无法为OR下的TEXT生成解决方案-OR下的其他非TEXT子句也必须建立索引。
解决方法是什么?如何将同一查询转换为聚合查询?我相信这可以帮助我解决问题吗?