使用 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 查询 .
谢谢你的时间。
笔记:
- 您的数据文件应包含 产品类别 和 牌 作为键
- 您应该对 mongo 查询的一般工作方式,尤其是其运算符有一点了解。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明