我在mongodb中有一个字符串字段,应将其转换为日期字段。 字符串的格式如下:
2014 - Only year, default month and day are 01 and 01, so it should be converted to date '2014-01-01'
2014-01 - With year and month, which should also be converted to date '2014-01-01'
2014-01-01 - Full date
使用以下语法的 $dateFromString
似乎无效:
$dateFromString: {
dateString: '$order.date',
format: '%Y-%m-%d',
}
如何使$dateFromString
支持多种格式?
答案 0 :(得分:0)
您可以做的是通过$addFields
添加一个新字段,然后使用$cond
管道运算符匹配每个日期长度(通过{ {3}})并连接其余部分(通过$strLenCP
)。然后,由于您的所有日期字段现在都将与格式if
匹配,因此它应该可以正常工作……
%Y-%m-%d
您可以$concat