sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man får en lista över användare som fyller år idag i MongoDB

Du kan använda aggregeringsramverket med $dayOfYear operatör. Jag har antagit att födelsedagen är lagrad i fältet birthday och att det finns ett fält som heter 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. spring-redis kan inte ansluta till fjärrvärden

  2. MongoDB dokumentdesign för kommentarer (och deras svarskommentarer)

  3. Vad är BSON och exakt hur skiljer det sig från JSON?

  4. redis och watch + multi tillåter samtidiga användare