Ho un documento che contiene una data e voglio raggruppare il documento in base al trimestre. Come posso farlo in MongoDB?
mio schema è:Come raggruppare la data trimestrale in MongoDB
var ekgsanswermodel = new mongoose.Schema({
userId: {type: Schema.Types.ObjectId},
topicId : {type: Schema.Types.ObjectId},
ekgId : {type: Schema.Types.ObjectId},
answerSubmitted :{type: Number},
dateAttempted : { type: Date},
title : {type: String},
submissionSessionId : {type: String}
});
1 ° trimestre contiene mesi 1, 2, 3. 2 ° trimestre contengono mesi 4, 5, 6 e così via fino a-4 ° trimestre. La mia risposta finale dovrebbe essere:
"result" : [
{
_id: {
quater:
},
_id: {
quater:
},
_id: {
quater:
},
_id: {
quater:
}
}
Hai provato a usare MapReduce di MongoDB? http://docs.mongodb.org/manual/core/map-reduce/ Penso che sia possibile mappare i mesi arrotondando MonthNumber/4. Qualcosa come emettere (this.number/4, this.number). E nella parte REDUCE, raggruppa tutti i mesi. – AzaFromKaza
Non ho provato mapreduce. posso darmi un esempio ho aggiunto lo schema anche sopra. –
Non importa la mia soluzione @grishabh, quella sotto è migliore. Mongodb mapreduce non ti permette di avere un array come risultato dell'operazione di riduzione. Riferimento: http://stackoverflow.com/questions/8175015/mongodb-mapreduce-reduce-multiple-not-supported-yet – AzaFromKaza