MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Konvertieren Sie das MongoDB-Feld von String in ISODate im Array

Dies kann mit der unten stehenden Aggregationspipeline erreicht werden.

db.students.aggregate([
    {
        '$addFields': {
            'absences': {
                '$map': {
                    'input': '$absences', 
                    'as': 'absence', 
                    'in': {
                        'date': {
                            '$toDate': {
                                '$substr': [
                                    '$$absence.date', 0, {
                                        '$subtract': [
                                            {
                                                '$strLenCP': '$$absence.date'
                                            }, 5
                                        ]
                                    }
                                ]
                            }
                        }, 
                        'code': '$$absence.code', 
                        'type': '$$absence.type', 
                        'isPartial': '$$absence.isPartial'
                    }
                }
            }
        }
    }, {
        '$out': 'students'
    }
])