这是对我的同事 MongoDB 和 NodeJs Devs 的挑战

我有一个搜索表单,用户可以在其中输入以下内容:

225/65R16 71T K715 Hankook

至于我的 mongodb,我有一个包含以下文档的集合:
1- { _id: SomeId, Description: 225/65R16 71T K715, Brand: Hankook, Ref: 123455 }
2- { _id: SomeId, Description: 225/65R16 71T K715, Brand: Continental, Ref: 123456 }
3- { _id: SomeId, Description: 225/65R16 94T Energy, Brand: Hankook, Ref: 123457 }

我该怎么做才能在搜索下面的任何组合时得到上面文档 1 和 3 的结果?

组合列表:
Hankook
225/65R16
225/65R16 Hankook
225 Hankook
225 Han

最佳答案

您可以通过创建索引来尝试:

db.yourollection.createIndex({"Description":1,"Brand":1})

然后通过搜索值,例如:
mongoosemodel.find({$text:{$search: 225/65R16 Hankook}},{Description:1,Brand:1})

而且,如果您得到的结果比预期的多,您可以使用 Javascript 进行过滤。

关于node.js - MongoDB搜索匹配字符串部分的多个字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40668286/

10-11 01:18