MongoDB:如何使用特定规则查询$ in中的特定元素?

时间:2015-01-14 23:35:21

标签: javascript mongodb

老实说,我怀疑这是可能的,但只是在这里试一试。

这是DB记录的一个例子

{
    type: 'fruit',
    name: 'apple',
    quantity: 3
}
{
    type: 'fruit',
    name: 'orange',
    quantity: 10
}
{
    type: 'vegetable',
    name: 'tomato',
    quantity: 4
}
{
    type: 'meat',
    name: 'beef',
    quantity: 2
}

然后是查询

{type: { $in: ['fruit', 'vegetable', 'meat']}}

因此,这将返回集合中的所有记录&#39; apple&#39;&#39; orange&#39;,&#39;番茄&#39;牛肉&#39;。< / p>

我想查询水果&#39;蔬菜&#39;肉类&#39;以及'fruit' only but not others的数量超过5的记录。 所以结果将是

orange, tomato, beef

不确定我的解释是否有意义,但这是一个可能的查询?或者我应该去查询两次? 谢谢你的阅读。

1 个答案:

答案 0 :(得分:1)

请尝试:

{ 
    $or: [
        { type: { $in: ['vegetable', 'meat'] } },
        { type: { $in: ['fruit'] }, quantity: { $gt: 5 } } 
    ]
}

我希望有所帮助。