下面结构的数据记录,如何写 mongodb的 查询呢
查询 meta 下各字段的 timestampOccur,符合指定日期范围内的记录
{
"_id": {
"$oid": "648c3779213eb4a742966793"
},
"campaign": {
"$oid": "6486c919419fae8b33394653"
},
"status": "Enabled",
"workflow": {
"$oid": "6486c91d419fae8b33394659"
},
"user": {
"$oid": "64897fc8da355f8b0d629db5"
},
"basic": {
"email": "aaa@qq.com",
"salesTeam": "ahg",
"poc": "e",
"company": "厦谷"
},
"type": {
"3-nominated": "Y",
"event-attend": "Y"
},
"createdAt": {
"$date": "2023-06-16T10:20:41.421Z"
},
"updatedAt": {
"$date": "2023-06-19T10:18:02.329Z"
},
"tag": [],
"code": "enT7957116",
"meta": {
"aaa": { // 注意,这里的aaa,每条数据都不一样,随机的名称
"timestampOccur": [
{
"$date": "2023-06-19T10:18:02.000Z" // 这个是 Date 类型
}
]
},
"bbb": {
"timestampOccur": [
{
"$date": "2023-06-19T02:59:05.000Z"
}
]
}
}
}
关于,这个问题,我直接贴代码把,哈哈哈,敲了一中午
代码注释未标明的地方及解释:match用于匹配符合日期范围内的记录,并将meta对象展开为数组;unwind 用于将 meta 对象转换为数组,方便后续操作;group用于重新构建meta对象;group用于重新构建meta对象;project 用于将 meta 对象转换回原始格式。