I am getting an issue for running the following aggregate query:
db.snippets.aggregate([ { \'$project\': { month: { \'$month\': \'$created_at\' }} } ])
I had a similar problem, and solved it checking if the date existed.
db.users.aggregate([
{$project:{day: { $cond: ["$bd", { $dayOfMonth: "$bd" }, -1] },
month: { $cond: ["$bd", { $month: "$bd" }, -1] },
year: { $cond: ["$bd", { $year: "$bd" }, -1] }
}},
{$match:{"month":1, "day":15}}
])
My date field is bd and with that match I'm getting all users that have their birthday on January 15th.