Javascript MongoDB+中仅按日期分组(不含时间);NodeJS

Javascript MongoDB+中仅按日期分组(不含时间);NodeJS,javascript,node.js,mongodb,group-by,Javascript,Node.js,Mongodb,Group By,假设我们有一个查询: EightWeekGamePlan.aggregate( [ { $group: { _id: { LeadId: "$LeadId", Week: "$Week", InsertDate: "$InsertDate" , // I want to group by the date part

假设我们有一个查询:

  EightWeekGamePlan.aggregate(
      [
        {
          $group: {
            _id: {
              LeadId: "$LeadId",
              Week: "$Week",
              InsertDate: "$InsertDate" ,   // I want to group by the date part
              Status: "$Status"
            },
            count: { $count: 1 }
          }
        },
        {
          $lookup: {
            from: "leads",
            localField: "_id",
            foreignField: "LeadId",
            as: "Joined"
          }
        },
        { $unwind: "$Joined" },
        { $replaceRoot: { newRoot: { $mergeObjects: ["$Joined", "$$ROOT"] } } },
        { $sort: { total: -1 } }
      ],
      function(err, results) {
        if (err) {
          console.log(err);
        }

        // ... do some manipulations ...

        console.log(_filtered);
        return res.json(_filtered);
      }
    );
我按多个字段分组,只想取插入日期的日期部分,而不考虑时间


我们怎么能做到呢

我相信您的问题在mongodb文档中的年度日期分组下得到了解决:

您必须使用
$dateToString
将日期转换为日期格式的字符串,并将其添加到
$group\u id

_id : {$dateToString: { format: "%Y-%m-%d", date: "$InserDate" }}
我希望这有帮助