将字符串转换为日期,并在mongodb中的两个日期之间检索数据

时间:2019-06-14 03:22:02

标签: mongodb

我正在尝试使用$ gte和$ lte检索在特定时间段内支付的订单。不幸的是,支付日期被作为字符串存储在记录中。以这种字符串格式:2019年3月12日。所以当我使用$ gte和$ lte时,选择的数据是错误的。我认为这是因为字符串问题。所以即时通讯尝试比较之前将字符串转换为日期。下面是我尝试使用datefromstring的方法。

db.orders.find({ 'received.breakdown': { $elemMatch : { 'paid_on' : {'$gt': [
      { "$dateFromString": { "dateString": "$paid_on", "format": "%d-%m-%Y" }},
       ISODate("2019-03-11T00:00:00Z")
    ]} } } });

尝试使用转换:

db.orders.find({ 'received.breakdown': { $elemMatch : { 'paid_on' : {'$gt': [
      { "$convert": { "include": "$paid_on", "to": "date" }},
       ISODate("2019-03-11T00:00:00Z")
    ]} } } });

如何将字符串转换为日期并在提供的日期内检索正确的数据?

0 个答案:

没有答案