使用格式YYYY-MM-DD查询MongoDB中保存的日期的最佳方法是什么?

问题描述 投票:1回答:1

我目前的文件如下:

{
  _id: 123,
  nextBillingDate: '2018-02-12',
}

我需要一种方法来查询nextBillingDate小于或等于今天的文档。

例如,如果我有以下文件:

[
  {
    _id: 123,
    nextBillingDate: '2018-02-12'
  },
  {
      _id: 789,
      nextBillingDate: '2018-02-01'
  },
  {
      _id: 654,
      nextBillingDate: '2018-02-28'
  }
]

今天是2018-02-12,查询的结果需要包含_id 123和789的文档。

node.js mongodb mongoose
1个回答
1
投票

试试这个查询

db.col.find(
    {$expr : 
        {$lte : 
            [
                {$dateFromString : {dateString : "$nextBillingDate"}},
                new Date("2018-02-12")
            ]
        }
    }
)

使用聚合

db.col.aggregate([
    {$match :
        {$expr : 
            {$lte : 
                [
                    {$dateFromString : {dateString : "$nextBillingDate"}},
                    new Date("2018-02-12")
                ]
            }
        }
    }
])
© www.soinside.com 2019 - 2024. All rights reserved.