Mongodb Nodejs 有条件地管理第二天的记录和前一天的记录

问题描述 投票:0回答:0

我对 mongodb 和 nodejs 很陌生。我目前正在使用考勤系统。我需要将下一个日期的第一个记录与当前日期班次为夜班的当前日期记录合并。 我目前的记录如下所示。

[
    {
        "date": "2023-04-01",
        "shift": {
            "date": "2023-04-01",
            "shiftType": {
                "isNight": true
            }
        },
        "attendances": [
            {
                "_id": "6422d1b9994726677e9105c6",
                "employee": "622061b73b2eaac4b15d42e4",
                "dateTime": "2023-04-01T05:30:00.000Z"
            }
        ]
    },
    {
        "date": "2023-04-02",
        "shift": {
            "isNight": false
        },
        "attendances": [
            {
                "_id": "6422d1b9994726677e9105c7",
                "employee": "622061b73b2eaac4b15d42e4",
                "dateTime": "2023-04-02T00:30:00.000Z"
            },
            {
                "_id": "6423286e2746f65c2480a13e",
                "employee": "622061b73b2eaac4b15d42e4",
                "dateTime": "2023-04-02T04:30:00.000Z"
            },
            {
                "_id": "6423286e2746f65c2480a13f",
                "employee": "622061b73b2eaac4b15d42e4",
                "dateTime": "2023-04-02T12:40:00.000Z"
            }
        ]
    }
]

我需要的记录应该如下所示。

[
    {
        "date": "2023-04-01",
        "shift": {
            "date": "2023-04-01",
            "shiftType": {
                "isNight": true
            }
        },
        "attendances": [
            {
                "_id": "6422d1b9994726677e9105c6",
                "employee": "622061b73b2eaac4b15d42e4",
                "dateTime": "2023-04-01T05:30:00.000Z"
            },
            {
                "_id": "6422d1b9994726677e9105c7",
                "employee": "622061b73b2eaac4b15d42e4",
                "dateTime": "2023-04-02T00:30:00.000Z"
            }
        ]
    },
    {
        "date": "2023-04-02",
        "shift": {
            "isNight": false
        },
        "attendances": [
            {
                "_id": "6423286e2746f65c2480a13e",
                "employee": "622061b73b2eaac4b15d42e4",
                "dateTime": "2023-04-02T04:30:00.000Z"
            },
            {
                "_id": "6423286e2746f65c2480a13f",
                "employee": "622061b73b2eaac4b15d42e4",
                "dateTime": "2023-04-02T12:40:00.000Z"
            }
        ]
    }
]

mongodb 有可能与一些采石场一起使用吗? 请帮我。提前致谢。

javascript node.js mongodb aggregation-framework koa
© www.soinside.com 2019 - 2024. All rights reserved.