mongoose如何按天分组查询?
已有数据格式
{
"_id" : ObjectId("5eb7ac7fc028951db811e99a"),
"tags" : [
"5ea2a87ca7b969e25ce2f292"
],
"name" : "test1",
"project_id" : ObjectId("5eb7ab24c028951db811e997"),
"cycleCount" : NumberInt(10),
"cycleUnit" : "min",
"cardTime" : ISODate("2020-05-10T07:25:48.975+0000"),
"recordTime" : ISODate("2020-05-10T07:25:48.975+0000"),
"__v" : NumberInt(0)
}
目前希望按照字段recordTime
进行分组查询,也就是recordTime
相同(日期)的分为一组
我自己目前使用的方法是
const result = await Model.aggregate([
{
$match: params,
},
{
$project : {
day : {$substr: [{"$add":["$recordTime", 28800000]}, 0, 10] },
},
},
{
$group: {
_id:"$day",
dailyList: { $push: { name: "$name", _id: "$_id" }}
},
},
返回的效果虽然和我想要的差不多了,但是存在一个问题
就是在$group
里的$push
我需要把字段一个一个的push进去
请问有什么比较快捷的方法吗?
我是希望dailyList
数组的子元素的结构是和表结构一样的效果
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你好 我也遇到了这个问题 请问有什么方法解决吗