sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan får du en liste over brugere, der har fødselsdag i dag i MongoDB

Du kan bruge aggregeringsrammen med $dayOfYear operatør. Jeg har antaget, at fødselsdagen er gemt i feltet birthday og at der er et felt kaldet name :

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}
                }
        }
]
)


  1. MongoDB count() versus countDocuments()

  2. Integreret dokument uden Array?

  3. Sum alle værdier af samme navngivne felter af dokumenter i en samling

  4. Hvordan gemmer man en række filer i mongoDB-databasen ved hjælp af multer?