Mongodb mongo聚合不工作时,如何将字符串转换为日期始终返回null?

Mongodb mongo聚合不工作时,如何将字符串转换为日期始终返回null?,mongodb,mongodb-query,aggregation-framework,aggregate,aggregate-functions,Mongodb,Mongodb Query,Aggregation Framework,Aggregate,Aggregate Functions,在集合中,我存储这种文档 { "_id" : 1, "created_at" : "2021-11-01", ... }. { "_id" : 2, "created_at" : "2021-12-01", ... } 我想将创建的_转换为最新的,我使用此方法 db.collection.aggregate([ {$proj

在集合中,我存储这种文档

{
   "_id" : 1,
   "created_at" : "2021-11-01",
    ...
}.
{
    "_id" : 2,
    "created_at" : "2021-12-01",
    ...
}
我想将创建的_转换为最新的,我使用此方法

db.collection.aggregate([
    {$project:{ created_at:{$dateFromString:{dateString:'$created_at'}}}}
])

但结果是无效的
任何人都有解决此问题的方法吗?

默认情况下,
$dateFromString
运算符将假定字符串位于
%Y-%m-%dT%H:%m:%S.%LZ

如果不是,在您的场景中就是这种情况,您必须使用
format
选项手动输入希望MongoDB解析字符串的格式

db.collection.aggregate([
  {
    $project: {
      created_at: {
        $dateFromString: {
          dateString: "$created_at",
          "format": "%Y-%m-%d",
        }
      }
    }
  }
])

感谢您的回答,我应用了此更改,但没有任何更改。它在我的本地计算机中运行良好。在这里查看MongoDB游乐场的结果。非常感谢,它对我有用谢谢