如何根据MongoDB中的字段值找到日期差异?
我想找到集合中的日期差,但对于与给定条件匹配的对象。 有关如何实现这一目标的任何线索。
目前,我正在使用查询:
db.sales.aggregate([ {
$project: {
item: 1,
dateDifference: {
$subtract: [ "$enddate", "$startdate" ]
}
}
} ])
但这将返回集合中所有对象的日期差。
我想拥有一些诸如说我有一个项目字段之类的东西,并且有多个项目,例如汽车,自行车,周期等。现在,我只需要基于项目价值的日期差异。
假设我们在一个集合中有4个会议,其中包括:
[
{
_id: "112233",
item: "CAR",
startdate: ISODate("2022-03-16T07:38:08.466Z"),
enddate: ISODate("2022-03-16T08:38:08.466Z")
},
{
_id: "11222333",
item: "BIKE",
startdate: ISODate("2022-02-16T07:38:08.466Z"),
enddate: ISODate("2022-02-14T08:38:08.466Z")
},
{
_id: "1122333243",
item: "CAR",
startdate: ISODate("2022-01-16T07:38:08.466Z"),
enddate: ISODate("2022-02-16T01:38:08.466Z")
},
{
_id: "12312233",
item: "BUS",
startdate: ISODate("2021-03-16T07:38:08.466Z"),
enddate: ISODate("2021-03-16T08:38:08.466Z")
}
]
现在我想找到一辆汽车的Startdate和enddate的差异。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 $ expr 和和 $ datediff
mongoplayground
Use $expr and $dateDiff
mongoplayground
mongoplayground