首页 > 解决方案 > 不同的正则表达式和文本搜索结果

问题描述

我使用正则表达式和文本搜索查询 mongo 文档的结果不同。如果我使用正则表达式,我会得到结果:

db.planning.find({"year":2018, "data":{$regex: ".*#A.*"}})

{ "_id" : ObjectId("5bf2964723eeeb59ef26dc69"), "date" : ISODate("2018-04-10T00:00:00Z"), "month" : 4, "instrument" : "AV500", "day" : 10, "data" : "N2 / Zizic #A (MP)", "year" : 2018 }
{ "_id" : ObjectId("5bf2964823eeeb59ef26dcd5"), "date" : ISODate("2018-04-11T00:00:00Z"), "month" : 4, "instrument" : "AV500", "day" : 11, "data" : "Zizic #A (MP)", "year" : 2018 }
{ "_id" : ObjectId("5bf2964823eeeb59ef26dccd"), "date" : ISODate("2018-04-12T00:00:00Z"), "month" : 4, "instrument" : "AV500", "day" : 12, "data" : "Zizic #A (MP)", "year" : 2018 }

如果我使用文本搜索,我不会获得结果:

db.planning.find({"year":2018, $text:{$search:"#A"}})

有原因吗?#是mongo中的特殊字符吗?

标签: mongodbfull-text-searchfull-text-indexing

解决方案


推荐阅读