无法在不区分大小写的搜索中在MongoDB中运行查询

时间:2018-11-02 10:26:41

标签: mongodb

我有一个查询-

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子句也必须建立索引。

解决方法是什么?如何将同一查询转换为聚合查询?我相信这可以帮助我解决问题吗?

0 个答案:

没有答案