Pymongo:日期为字符串的聚合日期范围查询

2024-09-20 04:05:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我的收藏如下: 样品 {'id':{'day':'2020-12-04','device':{'device':'DH002'}, 'value':{'average':44.5,'max':50,'min':38}

问题a:我试图根据用户输入的日期范围来查询此收款。查询如下。问题是我只获得开始日期的输出,而不是截止到结束日期的整个范围。不知道怎么了

问题b。如果我想添加设备id作为另一个查询参数,我该如何做


extract = list( weather_dbh.dailyreports.aggregate([
    { "$match": {
    "$expr": {
      "$and": [
        {
          "$gte": [
            { "$dateFromString": { "dateString": "$_id.day", "format": "%Y-%m-%d" }},
            start
          ]
        },
        {
          "$lt": [
            { "$dateFromString": { "dateString": "$_id.day", "format": "%Y-%m-%d" }},
            end
          ]
        }
      ]
    }
  }}
]))

Tags: 用户idformat参数valuedevice样品min
1条回答
网友
1楼 · 发布于 2024-09-20 04:05:27

按预期完成以下工作:

 mongos> var start="2020-12-05"
 mongos> var end="2020-12-06"
 mongos> var thedevice="devid"
 mongos> db.weather_dbh.dailyreports.aggregate([  {$match:{ deviceid:thedevice  , $and:[  {"_id.day":{$gte:start}}, {"_id.day":{$lt:end }}      ] } }  ])

相关问题 更多 >