如果日期在mongodb中是字符串格式,则使用$gte mongo运算符

mspsb9vt  于 2023-05-17  发布在  Go
关注(0)|答案(1)|浏览(168)

我在数据库中有像**{datetime:“Tue May 19 2023 08:00:00 GMT-0400(hora de玻利维亚)"}**这样的datetime字段。现在我想对datetime字段执行$gte,它是字符串格式的,如下所示:

Records.aggregate([
            {
                $match: {
                    datetime: {
                        $gte: new Date()
                    }
                }
            }
        ]).exec();

我得到空数组作为响应。
有人能帮我解决这个问题吗?

llew8vvj

llew8vvj1#

我已经找到解决办法了。下面是有效的查询

Records.aggregate([
  {
    $addFields: {
      datetime: {
        $dateFromString: {
          "dateString": {
            "$substr": [
              "$datetime",
              0,
              23
            ]
          },
          
        }
      }
    }
  },
  {
    $match: {
      datetime: {
        $gt: new Date()
      }
    }
  }
])

相关问题