你可以使用MongoDB的聚合框架来实现该需求。具体的聚合操作如下所示:\n\njavascript\ndb.collection.aggregate([\n {\n $project: {\n dateDiff: {\n $toInt: {\n $divide: [\n { $subtract: [\n { $toDate: "$endDate" },\n { $toDate: "$startDate" }\n ] },\n 86400000 // 24小时 * 60分钟 * 60秒 * 1000毫秒\n ] \n }\n }\n }\n },\n {\n $group: {\n _id: null,\n count: {\n $sum: {\n $cond: {\n if: { $gt: ["$dateDiff", 7] },\n then: 1,\n else: 0\n }\n }\n }\n }\n }\n])\n\n\n其中,$project阶段用于计算日期差值,$group阶段用于聚合计算大于7的日期差值的数量。\n\n请注意,上述代码中的endDatestartDate是你的集合中的字段名,你需要根据实际情况进行替换。同时,如果你的日期字段存储的是字符串类型,你可能需要使用$toDate操作符将其转换为日期类型。\n\n此外,如果你的数据集较大,你可能需要添加其他的聚合操作以进行分组或筛选。


原文地址: https://www.cveoy.top/t/topic/pxIZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录