MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB convertit la date en chaîne

Vous ne pouvez pas utiliser le $dateToString opérateur avec projection dans find() méthode. Utilisez-le plutôt avec le framework d'agrégation dans $addFields ou $project phase de pipeline pour renvoyer les documents dont le champ datetime est converti en chaîne avec le format souhaité, comme dans l'exemple suivant :

Utilisation de $addFields :

db.foo.aggregate([
    { "$addFields": {
        "sentDateString": { 
            "$dateToString": { 
                "format": "%Y-%m-%d", 
                "date": "$SentTimestamp" 
            } 
        }
    } }
])

ou en utilisant $project

db.foo.aggregate([
    { "$project": {
        "sentDateString": { 
            "$dateToString": { 
                    "format": "%Y-%m-%d", 
                    "date": "$SentTimestamp" 
            } 
        },
        "otherFields": 1, ....
    } }
])