Mongodb LoopbackJS上不区分重音的搜索

Mongodb LoopbackJS上不区分重音的搜索,mongodb,loopbackjs,strongloop,Mongodb,Loopbackjs,Strongloop,这个问题是指: 我尝试添加以下索引-firstname和lastname我的NsUser模型,如@Markus\u W\u Mahlberg建议的-环回方式 { "name": "NsUser", "base": "User", "idInjection": true, "options": { "validateUpsert": true }, "indexes": { "first

这个问题是指:

我尝试添加以下索引-
firstname
lastname
我的
NsUser
模型,如@Markus\u W\u Mahlberg建议的-环回方式

    {
      "name": "NsUser",
      "base": "User",
      "idInjection": true,
      "options": {
        "validateUpsert": true
      },
      "indexes": {
        "firstname": "text" ,
        "lastname": "text"
      },
      "properties": {
        "firstname": {
          "type": "string"
        },
       "lastname": {
          "type": "string"
        }
       …
     }
     …
    }
我还在我的server.js中使用了一个自动更新脚本,以确保索引按照此处建议的方式工作:

我的MongoDB shell版本是:3.2.3

但它仍然不起作用。有什么想法吗

编辑: 回答帕万- 在Mongo中显示索引时,使用:

> db.NsUser.getIndexes()
[
    {
        "v" : 1,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "needsporty_DB.NsUser"
    },
    {
        "v" : 1,
        "key" : {
            "text" : 1
        },
        "name" : "firstname",
        "ns" : "needsporty_DB.NsUser"
    },
    {
        "v" : 1,
        "key" : {
            "_fts" : "text",
            "_ftsx" : 1
        },
        "name" : "diatrics_insensitive_keys",
        "ns" : "needsporty_DB.NsUser",
        "weights" : {
            "firstname" : 1,
            "lastname" : 1
        },
        "default_language" : "english",
        "language_override" : "language",
        "textIndexVersion" : 3
    }
]

model.json文件中声明索引的语法为

"indexes": {
     //A composite index two keys: key1 in ascending order and key2 in descending order
     "<indexName>": { "<key1>": 1, "<key2>" : -1 }
    //single field index
    "<indexName>": { "<key1>" : 1 }
   // for text indexes
   "<indexName>": { "<key1>" : "text" }   
}

非常感谢。它似乎在工作,但现在我得到了这个错误:“未处理的拒绝MongoError:Index with pattern:{{u fts:“text”,{u ftsx:1}已经存在,具有不同的选项”。这很奇怪,因为这是我创建的唯一索引。您对此有何想法?能否通过调用db.collection.getIndexes()?>db.collection.getIndexes():[]来确认索引。它似乎返回一个空数组。在获取索引(可能是您拥有的,只是确认)即db.yourcollection.getIndexes()时,是否已将集合替换为集合的名称,然后重试。这之后会返回什么?您遇到此错误bcz您试图在一个集合上创建两个不同的文本索引,您只能有一个文本索引docs.mongodb.com/manual/core/index text/#create text index,要解决此问题,请在firstname和lastname上创建一个复合文本索引,而不是创建单个索引。检查编辑的答案。
"indexes": {
    "textSearchName" : { "firstname" : "text", "lastname" : "text" }
}