【发布时间】:2022-01-05 10:44:34
【问题描述】:
试图预测两个日期之间的日期差异,但出现错误 -
$project :: 无效,由 :: 未知表达式 $dateDiff 引起
db.books.aggregate([{
$project:{
Date_diff:
{$dateDiff:{
start_dt:'$borrowers_list.borrowed_dt',
endDate:'$borrowers_list.return_dt',
unit: "day"
}
}
}
}])
json文档结构是这样的-
_id:6188a5283543f7cc2f77c73f
branch_id:1
borrowers_list:Object
0:Object
borrowed_dt:2021-08-15T06:00:00.000+00:00
card_no:"ID000067"
return_dt:2021-08-25T06:00:00.000+00:00
我不知道为什么错误是未知表达式 $dateDiff,因为我的语法是正确的。有人有什么建议吗?
【问题讨论】:
-
你的
borrowers_list是对象还是数组? -
还要检查你的 mongodb 版本,你需要 mongodb 5 for datefiff
-
@Takis_,我的版本是 4.4。我认为这就是问题所在。
-
如果您不能使用 mongodb 5,您可以使用减法获取日期差异(以毫秒为单位),然后除以获取日期与
24*60*60 * 1000 -
@Takis_ 是的,这行得通。谢谢。
标签: json mongodb aggregation-framework projection