【发布时间】:2017-04-01 18:51:06
【问题描述】:
这是对我的 MongoDB 和 NodeJs 开发人员的挑战
我有一个搜索表单,用户可以在其中输入以下内容:
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
【问题讨论】:
-
该组合列表不可能:
71T在文档 #2 中。此外,没有办法与文档 #3 匹配。但是,如果您想在庄园中进行搜索,您应该查看文本搜索索引。这是一篇好文章:code.tutsplus.com/tutorials/… -
编辑了这个问题,因为我在列表中的最后 2 个项目是一个不好的例子。我想一个更好的问题是如何搜索匹配任何一个或两个字段(描述和品牌)的值
-
您可以使用
$or运算符:docs.mongodb.com/v3.2/reference/operator/query/or
标签: node.js mongodb mongoose mongodb-query