Ich bin mit dem Erreichen weekofMonth
statt WeekofYear
fest. Kann mir jemand zeigen, wie ich das richtig machen kann?Mongodb WeekofMonth?
db.activity.aggregate([
{
$group:{
_id: {
week: { $week: "$createdAt" },
month: { $month: "$createdAt" },
year: { $year: "$createdAt" }
},
count: { $sum: 1 }
}
},
{ $match : { "_id.year" : 2016, "_id.month" : 5 } }
])
Ausgabe
/* 1 */
{
"_id" : {
"week" : 19,
"month" : 5,
"year" : 2016
},
"count" : 133.0
}
/* 2 */
{
"_id" : {
"week" : 18,
"month" : 5,
"year" : 2016
},
"count" : 1.0
}
In den oben gezeigten Daten wird weekofMonth
Anzeige tatsächlich nicht. Wie kann ich diese Woche erhalten, ist 18 die erste Woche des Monats?
Antwort ist wahr, aber mein Server ist mit Version 3.0.2 zum Einsatz, auf der Anwendungsebene zu tun , danke für die schnelle Antwort eine andere Frage innerhalb $ Match muss ich einige weitere Abfrageparameter übergeben, die so ist. childid: req.params.childid, word: {$ in: ["BAT", "CAT"]} nachdem ich das bestanden habe, bekomme ich keine Ausgabe und keinen Fehler. @joao –
@ user1099855 nach dem $ Projektabschnitt verschwinden diese Felder. Sie fügen sie auch entweder zum $ -Projekt hinzu oder führen direkt am Anfang ein $ -Match aus (was wegen der Verwendung des Indexes empfohlen wird). – joao
@ user1099855 check my edit, Sie können $ mod (funktioniert mit Version 3.0) anstelle von $ floor verwenden, um das gleiche Ergebnis zu erzielen. – joao