在两个字符串之间过滤数据

我有一个文档的创建日期属性,其格式如下:“05/03/2020”,类型为字符串。

我必须从我的系统中提取创建日期早于“05/03/2020”的所有文档。

我试过:

db.MyCollection.find ({DateC: {$lte: "05/03/2020"}})

但它仍然返回 0。

有没有办法比较日期格式字符串是否在另一个日期之前?

谢谢


慕标5832272
浏览 73回答 1
1回答

慕田峪7331174

您可以使用$dateFromString运算符转换$DateC为 ISODate,确保您的输入应为 ISODate 格式,db.MyCollection.find([  {    $expr: {      $lte: [        {          $dateFromString: {            dateString: "$DateC",            format: "%d/%m/%Y"          }        },        ISODate("2020-03-05T00:00:00.000Z")      ]    }  }])我不确定你的日期格式,我已经预测过d/m/y,如果它不同,你可以自己管理它。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript