查询PHP mongodb中的对象数组

时间:2017-09-07 10:05:25

标签: mongodb

嗨我是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',
]

如果我运行此查询,则不应返回任何值,因为该范围内的产品价格不是美元。但它确实返回了数据。如何正确查询?有什么建议吗?感谢

1 个答案:

答案 0 :(得分:0)

{“price”:{“$ elemMatch”:{“amount”:{“$ gte”:2000,“$ lte”:5000},“currency”:“USD”}}}