2015-06-10 17 views
5

Ho un problema con la visualizzazione dei dati con l'ordinamento. Qui è la mia domanda,Ordinamento mandrino

Activity.find({"user_id": sesUser._id}, {}, {offset: 0, limit : 5, sort:{createdAt:1}}, function (e,a){ 
    ... 
    }); 

Ho dati circa 252 di lunghezza, e la mia ultimi dati è del 9 giugno 2015. Se io uso questa domanda ho solo i dati dal 5 giugno 2015 i dati/la scorsa settimana e non ricevere le ultime dati, ma se non utilizzo l'ordinamento, vengono visualizzati i dati più recenti.

Ho usato questa query qui sotto ma risulta che il risultato è lo stesso.

Activity.find({"user_id" : sesUser._id}).sort("createdAt").exec(function(err,a){ 
    ... 
    }); 

Qualsiasi aiuto? Sto usando Mongoose v3

- a cura - Questa è la mia attività Schema/Modello

var mongoose = require('mongoose'); 

var Activity = mongoose.Schema({ 
    sender_id : {type: String, required: true }, 
    user_id : {type: String, required: true }, 
    product_id : {type: String, default : "" }, 
    type : {type: String, required: true }, 
    createdAt : {type: String, default : new Date()} 
}); 

module.exports = mongoose.model('Activity', Activity); 
+1

Puoi mostrarci il tuo schema per la tabella delle attività? –

risposta

4
`createdAt : {type: Date, default : new Date()}` 

tipo data data non stringa uomo

+0

oh capisco, così che la mangusta lo stava ordinando perché è una stringa e non lo ordina perché è un appuntamento? qualche suggerimento? Grazie a –

+0

quando usi String invece di Dati ordinerai i dati in ordine alfabetico ab ... in questo modo, perché è una stringa – kaxi1993

+0

@BagusSantoso E poiché hai usato "tipo: String", la mangusta chiamerà in pratica '.toString()' qualsiasi dato che fornisci prima di essere archiviato. Prova 'new Date(). ToString()' in qualsiasi REPL e vedi perché questo è male. –

0

Si creerà automaticamente la createdAt e updatedAt

var options={ 
     timestamps: true 
} 

var Activity = mongoose.Schema({ 
    sender_id : {type: String, required: true }, 
    user_id : {type: String, required: true }, 
    product_id : {type: String, default : "" }, 
    type : {type: String, required: true } 

},options);