为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕标5832272 2023-04-14 17:10:41
我有一个文档的创建日期属性,其格式如下:“05/03/2020”,类型为字符串。我必须从我的系统中提取创建日期早于“05/03/2020”的所有文档。我试过:db.MyCollection.find ({DateC: {$lte: "05/03/2020"}})但它仍然返回 0。有没有办法比较日期格式字符串是否在另一个日期之前?谢谢
查看完整描述

1 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

您可以使用$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,如果它不同,你可以自己管理它。


查看完整回答
反对 回复 2023-04-14
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信