使用 JavaScript Map Method 组合 mongo 查询的算法

使用 JavaScript Map Method 组合 mongo 查询的算法

假设您有大量数据,并且您想查找选定品牌的特定产品,例如 尼卡化妆品 和一个特定的类别,例如 润唇膏 从中。你的代码看起来像

image 1 : Query of finding a combination of a brand and a product type

但是,如果您必须对不同项目集的各种组合进行查询,该怎么办。

假设用户选择了 2 个产品类别,第一个是 润唇膏 另一个是 口红 被选中的品牌是 尼卡化妆品 , 大地节奏凯美人 .

检查这个 视频 为了更清楚。

因此,各种可能的组合如下

table 1: Table of various possible combinations

对于上述组合,查询应如下所示 图 3

image 2: Various possible combinations

这是使此查询动态化的详细分步过程

步骤 1) 创建一个名为“map.js”的文件:-

您可以使用任何名称,但我们必须再次使用此文件,因此最好使用同名文件。

现在,在 map.js 中编写以下代码

image 3: Creating a map object using Map Method

在这里,我们使用 Map 方法创建了一个地图对象 产品类别 作为 钥匙品牌 作为 价值观 .上面代码的输出是

image 4: Output of map

在这里,我们创建了各种可能组合的键值对,将其与上表进行比较,对于每个产品,我们都创建了一组带有品牌的组合。现在我们必须制作这些组合的数组。

步骤 2) 制作所有可能组合的数组:-

image 5: Making array of combinations

让我们看看这段代码的输出

image 6: Output after making array of all the combinations

现在,我们得到了组合数组,但是我们不能在查询中使用上面的数组,因为我们必须使用 或者 & 运算符如图所示 ** 图 2** .

步骤 3) 使用具有 $and 作为键的元素创建一个数组:-

image 7: Making array using $and operator as a key for elements

上面创建的数组的输出如下所示

image 8: Output of queryArr

现在,让我们检查一下 目的 包含

image 9: Output of the element at 0th index of queryArr

为了使这段代码可重用,让我们把它包装成一个函数并导出它。

步骤 4) 将整个代码包装在一个函数中并导出:-

现在,我们必须注释掉我们在第 1 步进行查询时使用的数组,见下图

image 10: Wrapping of the code inside a function and exporting

现在我们需要在我们编写查询的文件中导入上述函数。

步骤 5) 在我们编写了 mongo 查询的文件中导入上述函数:-

进口 ** 创建查询** 来自 map.js 的函数

image 11: Import algorithm from map.js and use it inside mongo query code

就是这样,这就是我创建算法的方式 地图法 用于 Mongodb 查询 .

谢谢你的时间。

笔记:

  1. 您的数据文件应包含 产品类别 作为键
  2. 您应该对 mongo 查询的一般工作方式,尤其是其运算符有一点了解。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/2806/05363108

posted @ 2022-08-31 08:06  哈哈哈来了啊啊啊  阅读(36)  评论(0编辑  收藏  举报