嗨我是mongodb的初学者,我的文档看起来像这样:
{
'_id': ObjectId("599d142a02ae238"),
'name': 'Product One',
'status': 'in stock',
'prices': [ {
'currency': 'USD',
'amount': 1000
}, {
'currency': 'THB',
'amount': 3000
} ]
}
我想查询以搜索特定价格范围和特定货币的产品。我的查询如下所示:
[
'prices.amount' => ['$gte' => 2000, '$lte' => 5000],
'prices.currency' => 'USD',
]
如果我运行此查询,则不应返回任何值,因为该范围内的产品价格不是美元。但它确实返回了数据。如何正确查询?有什么建议吗?感谢
答案 0 :(得分:0)
{“price”:{“$ elemMatch”:{“amount”:{“$ gte”:2000,“$ lte”:5000},“currency”:“USD”}}}