Javascript mongo$text{$search:“某物”}
尝试使用文档中存储的单词的一部分在mongo中进行搜索Javascript mongo$text{$search:“某物”},javascript,node.js,mongodb,Javascript,Node.js,Mongodb,尝试使用文档中存储的单词的一部分在mongo中进行搜索 getCitiesWithQuery(reqQuery){ let query={$text:{$search:reqQuery}}; 返回db.collection('cities').find(query.toArray(); } 但我有一个错误: MongoError: text index required for $text query 如何修复它?您需要首先在该集合上创建文本索引。 下面的示例代码为集合中每个文档包含字符串数
getCitiesWithQuery(reqQuery){
let query={$text:{$search:reqQuery}};
返回db.collection('cities').find(query.toArray();
}
但我有一个错误:
MongoError: text index required for $text query
如何修复它?您需要首先在该集合上创建文本索引。 下面的示例代码为集合中每个文档包含字符串数据的每个字段编制索引
db.cities.createIndex(
{ "$**": "text" }
)
根据定义,$text只查找单词。如果您使用的是MongoDB Atlas,您可以使用,它允许部分搜索(以及模糊匹配和其他内容)。您需要查看,错误明确表示它需要对特定字段进行
文本索引。至少尝试在google中搜索这个错误,你会知道你错过了什么。getCitiesWithQuery(reqQuery){db.collection('cities').createIndex({“name”:“text”});let query={$text:{$search:reqQuery},区分大小写:false};返回db.collection('cities').find(query.toArray();}我的操作与文档中公开的完全一样,但它不起作用``getCitiesWithQuery(reqQuery){db.collection('cities').createIndex({“name”:“text”});let query={$text:{$search:reqQuery},区分大小写:false};返回db.collection('cities').find(query).toArray();}它没有达到我的预期效果(((我认为您需要在查询函数之外创建索引,而不是在执行queryNo时创建索引,它创建了名为text的索引,但它没有达到我的预期。我需要找到一种在字段中搜索单词部分的方法