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游乐场的结果。非常感谢,它对我有用谢谢