MongoDB: 如何使用特定规则查询$in 中的特定元素?
MongoDB: how to query with a specific rule for a specific element in $in?
老实说,我怀疑这是否可能,但只是试一试。
这是一个数据库记录的例子
{
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']}}
所以这将 return 集合 'apple'、'orange'、'tomato'、'beef'.
中的所有记录
我想查询'fruit'、'vegetable'、'meat'以及'fruit' only but not others
的数量大于5的记录。
所以结果将是
orange, tomato, beef
不确定我的解释是否合理,但这是一个可能的查询吗?或者我应该去查询两次?
感谢阅读。
请尝试:
{
$or: [
{ type: { $in: ['vegetable', 'meat'] } },
{ type: { $in: ['fruit'] }, quantity: { $gt: 5 } }
]
}
希望对您有所帮助。
老实说,我怀疑这是否可能,但只是试一试。
这是一个数据库记录的例子
{
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']}}
所以这将 return 集合 'apple'、'orange'、'tomato'、'beef'.
中的所有记录我想查询'fruit'、'vegetable'、'meat'以及'fruit' only but not others
的数量大于5的记录。
所以结果将是
orange, tomato, beef
不确定我的解释是否合理,但这是一个可能的查询吗?或者我应该去查询两次? 感谢阅读。
请尝试:
{
$or: [
{ type: { $in: ['vegetable', 'meat'] } },
{ type: { $in: ['fruit'] }, quantity: { $gt: 5 } }
]
}
希望对您有所帮助。