我在MongoDB中有一个如下所示的集合(为了清晰起见,省略了所有其他字段)
{ "name" : "Toyota Camry" },
{ "name" : "Fort Taurus" },
{ "name" : "Ford Fiesta" }我想要做的是找出这些项目看起来“全包含”的句子。例如,案文:
我需要一些查询MongoDB的方法,所以它会给我一个匹配的福特嘉年华,但没有匹配的嘉年华
我尝试过使用文本索引,但是这个接缝可以返回所有内容。理想情况下,这个概念是
“取这一行文本,看看它是否包含数据库中存储的任何项”
更好的是:
如果我能得到最长的比赛(即,如果有一个“福特嘉年华”和“福特嘉年华涡轮”,那么我想后者只有在文本范围内。
有什么好主意吗?这可行吗?
发布于 2018-06-29 14:03:17
您可以通过创建通配符文本索引来搜索细节。
db.collection.createIndex( { "$**": "text" } )然后执行以下操作
{"$text" : {"$search" : "\"<insert term here>\""}}这将只返回与文本完全匹配的字符串。
https://stackoverflow.com/questions/51097408
复制相似问题