求助!请问如何截取日期字段的部分进行group?

发布于 8 年前作者 xzhao8554 次浏览最后编辑 8 年前来自 issues

日期字段是‘YYYY-mm-dd H:M:S’格式,现有需求是按照’YYYY-mm-dd’,或者‘YYYY-mm’这样的格式group,尝试过在_id里用’‘old_date’.substr(x, y)‘无效,也试了project用’old_date’.substr(x, y)转换成new_date的方法也无效,

至于开发文档样例,说实话看的一头雾水

await db.collection('list')
        .aggregate()
        .match({
          name: event.name,
          old_date: db.RegExp({
            regexp: event.param,
            option: 'i',
          })
        })
        .project({
          new_date: '$old_date'.substr(0,10),//此处substring也试过
          sum_value: 1,
        })
        .group({
          _id: {
            new_date:'$new_date',//此处用old_date: '$old_date'.substr(0,10)无效
          },
          total_value: $.sum('$sum_value'),
        })
        .end()
1 回复
wdu
wdu1 楼6 年前

如果实在无解,只能是添加几个用来group的字段了,但是这样感觉也太sb了吧…