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

So erhalten Sie in MongoDB eine Liste der Benutzer, die heute Geburtstag haben

Sie können das Aggregations-Framework mit $dayOfYear verwenden Operator. Ich bin davon ausgegangen, dass der Geburtstag im Feld birthday hinterlegt ist und dass es ein Feld namens name gibt :

db.data.aggregate(
[
        {
                "$project" : {
                        "_id" : 0,
                        "name" : 1,
                        "birthday" : 1,
                        "score" : 1,
                        "todayDayOfYear" : {
                                "$dayOfYear" : new Date()
                        },
                        "birthDayOfYear" : {
                                "$dayOfYear" : "$birthday"
                        }
                }
        },
        {
                "$project" : {
                        "name" : 1,
                        "birthday" : 1,
                        "score" : 1,
                        "isBirthDay" : {
                                "$eq" : [
                                        "$todayDayOfYear",
                                        "$birthDayOfYear"
                                ]
                        }
                }
        },
        {
                "$match" : {
                        "isBirthDay" : true,
                        "score" : { $gt: 100}
                }
        }
]
)