【发布时间】:2015-11-12 17:08:50
【问题描述】:
我在 Mongodb 中不太好。这是我第一个使用它的项目。我正在开发某种商店网站。我们正在为 mongodb 使用 C# 和最新的 C# 驱动程序。我需要一个想法如何实现我的算法来根据用户的输入过滤产品。这是我的算法的工作原理/应该工作原理。
- 用户输入类似“蓝色阿迪达斯男式蜘蛛侠棉质 T 恤”的内容
- 我将整个短语分成单个单词,因此我有“blue”、“adidas”、“men”、“spiderman”、“cotton”、“t-shirt”
-
我根据我的数据库中的零售商、颜色、类别名称检查每个单词。所以这是怎么回事。
- “蓝色” - 哦,这是一个颜色过滤器,让我们根据我的 mongodb 文档中的适当字段过滤它。
- “adidas” - 好的,它是零售商。执行与上述相同的操作
- “男人” - 这是一个类别。好的,让我们只在这个类别中搜索。
- “棉花” - 我不按纺织品过滤。无法按此过滤。
- “蜘蛛侠” - 绝对不是零售商,颜色等。无法使用此过滤。
-
“T 恤” - 好的。它是作为儿童、男性、女性的子类别出现的类别名称,但由于我已经将“男性”作为我的类别,所以我只是更深入地了解我的类别结构 - 现在我更新了我想要过滤的 categoryId,它不是- 男士类别下的衬衫类别。
- 好的。我从用户输入中解析了几个过滤器参数,但我仍然有棉花和蜘蛛侠词。这就是我迷路的地方。
我不想忽略这个“蜘蛛侠”和“棉花”两个词。我想通过产品名称中的单词覆盖率实际从数据库订单中获取所有项目,所以我的预期结果(首先应用所有零售商、颜色等过滤器的 ofc)是:
名称中同时包含“蜘蛛侠”和“棉花”产品的产品 名称中包含“蜘蛛侠”或“棉花”的产品
我该怎么做?
【问题讨论】:
标签: c# mongodb mongodb-.net-driver