我在一个mongodb集合中有一堆文档,结构如下:
{
"_id": {
"$oid": "ddksdk"
},
"date": {"$date": { "$numberLong": "1627862400000"}
},
"prices": [{"_id": {"$oid": "ddks11"}, "inventoryCode": "JFXS", "price": 52},
{"_id": {"$oid": "ddks12"}, "inventoryCode": "USSW", "price": 102}]
}
我希望设置一条语句,以便获得具有特定日期的文档,并且在该date
中,我希望通过prices
数组中的inventoryCode
进行过滤,以获得通过date和inventoryCode过滤的对象作为输出。
我尝试的查询如下所示:
{
$and: [
{
date: { $eq: "2021-08-02T00:00:00.000+00:00") },
},
{
prices: {
$elemMatch: {
inventoryCode: { $eq: "USSW" },
},
},
},
],
}
使用这条语句,我实际上是按日期进行过滤,获得具有特定日期的相应文档,但我不是按特定的inventoryCode
在数组中进行过滤。
我希望接收的预期输出为:
{"_id": {"$oid": "ddks12"}, "inventoryCode": "USSW", "price": 102}
1条答案
按热度按时间balp4ylt1#
质询
inventoryCode= USSW
的对象Playmongo