有没有一种方法可以基于两个数组之间的共享值在MongoDB中将两个不同数组的元素相乘

时间:2020-06-03 20:11:34

标签: arrays mongodb loops

我正在尝试创建一个循环,以将一个数组的值与另一个数组中的对应值相乘,然后将所有内容加在一起(两个数组都在同一集合中)。

更具体地说,我有一个数组显示一个视频商店中可用的电影库存,另一个数组显示每个电影的价值,两个数组都包含filmId,这是它们如何链接的方式。

第一个数组具有重复的条目,因为商店可能具有多个特定电影的副本,但是第二个数组都是不同的值,因为它是一个所有不同电影的列表,以及每个电影的详细信息。

我想遍历第一个数组以通过识别第一个数组中的filmId来创建库存总价值,并使用该filmId在第二个数组中查找值,然后添加直到循环遍历第一个数组中列出的所有电影为止。

第一个数组中的数据示例:

"Inventory" : [
    {"Film Title" : "ACADEMY DINOSAUR", "filmId" : 1, "inventoryId" : 1},
    {"Film Title" : "ACADEMY DINOSAUR", "filmId" : 1, "inventoryId" : 2},
    {"Film Title" : "ACADEMY DINOSAUR", "filmId" : 1, "inventoryId" : 3},
    {"Film Title" : "AFFAIR PREJUDICE", "filmId" : 4, "inventoryId" : 16},
    {"Film Title" : "AFFAIR PREJUDICE", "filmId" : 4, "inventoryId" : 17}

第二个数组中的数据示例:

"film_details": [
    {"_id" : 14, "Category" : "Comedy", "Title" : "ZORRO ARK", "Replacement Cost" : 18.99, "Rental Duration" : 3},
    {"_id" : 999, "Category" : "Children", "Title" : "ZOOLANDER FICTION", "Replacement Cost" : 28.99, "Rental Duration" : 5}

在这里,第一个阵列中的filmId与第二个阵列中的_id相对应,我想将阵列1中列出的每部胶卷的更换成本加到运行总计中。

>

0 个答案:

没有答案