0
使用搜索索引時出現錯誤,我使用v3.4。mongoDB搜索文本錯誤
> db.test2.insert({string:"aa bb cc"});
WriteResult({ "nInserted" : 1 })
> db.test2.insert({string:"aa 88 99"});
WriteResult({ "nInserted" : 1 })
> db.test2.ensureIndex({'string':"text"});
{
"ok" : 0,
"errmsg" : "Index: { v: 2, key: { _fts: \"text\", _ftsx: 1 }, name: \"string_text\", ns: \"test2.test2\", weights: { string: 1 }, default_language: \"english\", language_override: \"language\", textIndexVersion: 3 } already exists with different options: { v: 2, key: { _fts: \"text\", _ftsx: 1 }, name: \"post_text_text\", ns: \"test2.test2\", weights: { post_text: 1 }, default_language: \"english\", language_override: \"language\", textIndexVersion: 3 }",
"code" : 85,
"codeName" : "IndexOptionsConflict"
}
實際上它是我第一次設置這個文本索引。我試過你的方法,它顯示「code」:27,「codeName」:「IndexNotFound」。雖然沒有找到,我仍然得到這個錯誤信息,當我設置索引「代碼」:85,「codeName」:「IndexOptionsConflict」 –
我可以問我是否可以只設置一個索引的文本?因爲我之前設置了其他鍵的索引文本,不確定它是否會影響它。如果是的話,你能幫助告訴我如何刪除所有索引?因爲我不記得我設置的文字是什麼索引。 –
可能的多個文本索引,您可以通過此命令'db.test2.getIndexes();'查看所有索引,並使用'db.test2.dropIndex(「*」);'刪除此集合的所有索引並更改字段名稱'字符串'到另一個不涉及'數據類型' –