首页 新闻 会员 周边

mongodb 使用 addFields 里面添加自定义字段 用 $convert 转换日期转错了结果类型变成了Double,值变成 NaN

0
悬赏园豆:50 [待解决问题]

使用 $ifNull,或者 $cond 也都无法判断

问题:如何避免或者转换NaN为null?

易墨的主页 易墨 | 菜鸟二级 | 园豆:449
提问于:2024-02-23 15:09
< >
分享
所有回答(1)
0

在MongoDB中,如果使用 $convert 转换日期类型时出现了结果类型错误的问题,可以尝试使用 $toDate 函数来转换日期。另外,您可以使用 $ifNull 或 $cond 来处理转换后可能出现的 NaN 值,将其转换为 null。

以下是一个示例,演示了如何使用 $toDate 和 $ifNull 来转换日期类型并处理可能的 NaN 值:

json
Copy code
db.collection.aggregate([
{
$addFields: {
// 将日期字段转换为日期类型
convertedDate: {
$toDate: "$yourDateField"
}
}
},
{
$addFields: {
// 使用 $ifNull 处理可能的 NaN 值,将其转换为 null
finalDate: {
$ifNull: ["$convertedDate", null]
}
}
}
])
在这个示例中,首先使用 $toDate 将日期字段转换为日期类型,然后使用 $ifNull 来处理可能的 NaN 值,将其转换为 null。这样就可以避免 NaN 值引发的问题。

Technologyforgood | 园豆:5686 (大侠五级) | 2024-02-25 13:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册