最便宜的排列计算

时间:2016-01-30 00:29:37

标签: algorithm mongodb-query permutation

我有一系列文件。该问题的对象的相关结构将是:

{
    "_id":ObjectId("5099803df3f4948bd2f98391"),
    ...
    "type": "a",
    "components":{
        "component2": 20,
        "component3": 10,
    },
    "price": 123
    ...
} 

我目前正在使用我刚才写的一组旧代码来找到所需组合的最便宜的排列。我不确定这是否可以只用一个查询,但我想在进一步移动之前我会问。

细节:有10种可能的“类型”(a-j)。有4种可能的“组件”类型。项目将至少有1个“组件”,但最多可以有2个。它们永远不会超过2.虽然类型限制为2,但组件的值(“等级”)可以是范围。因此,无论是1个还是2个组件,都可以使用任何可能的组件值/等级组合。

有10k记录,而我需要做的是找到最低价格,每种类型中至少有一种,这使我至少得到了我输入的一个或两个组件所需的等级。

预期结果将始终具有每种类型中的一种(总共10种)。

在外行人中,我会要求数据集中最便宜的组件2的组合超过200.或者,组件1 /组件3的最便宜组合超过150组件1等级超过150组件3年级。

同样,虽然该组合受到限制,因为它必须完全/只有每种类型中的一种。因此,如果有10个类型“a”,肯定可以获得更好的价格,但它需要是1“a”,1“b”等。

我认为不是,但是有可能仅通过查询就可以实现这一点吗?

0 个答案:

没有答案