簡體   English   中英

Pymongo:以日期為字符串的聚合日期范圍查詢

[英]Pymongo : Aggregate Date Range Query with Date as String

我有一個如下集合:示例 {'_id': {'day': '2020-12-04', 'device': {'device': 'DH002'}}, 'value': {'average': 44.5,“最大”:50,“最小”:38}}

問題a:我正在嘗試根據用戶輸入的日期范圍查詢此集合。查詢如下。問題是我得到output 僅用於開始日期,而不是直到結束日期的整個范圍。 不知道出了什么問題。

問題 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
          ]
        }
      ]
    }
  }}
]))

以下工作按預期進行:

 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 }}      ] } }  ])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM