2016-02-17 11 views

risposta

7

Il metodo findOne è un wrapper per il metodo findAll. Quindi puoi semplicemente usare findAll con il limite 1 e ordinare da id decrescente.

Esempio:

YourModel.findAll({ 
    limit: 1, 
    where: { 
    //your where conditions, or without them if you need ANY entry 
    }, 
    order: [ [ 'createdAt', 'DESC' ]] 
}).then(function(entries){ 
    //only difference is that you get users list limited to 1 
    //entries[0] 
}); 
+1

Credo che si intende 'createdAt', non' id' on line 6. Inserito una modifica: http://stackoverflow.com/suggested-edits/2345804 – Noah

+0

Solitamente l'ID è l'incremento automatico. Pertanto il valore più alto di id indica l'ultima voce aggiunta. Ma sì, potresti usare 'createdAt'. –

+0

Se si è sicuri di preferire createAt, accetterò la modifica. –

13
model.findOne({ 
    where: { 
     key: key, 
    }, 
    order: [ [ 'createdAt', 'DESC' ]], 
}); 
+1

Hi szym; il tuo codice potrebbe essere corretto, ma con qualche contesto sarebbe una risposta migliore; ad esempio, potresti spiegare come e perché questo cambiamento proposto risolverà il problema del questionario, forse includendo un link alla documentazione pertinente. Ciò lo renderebbe più utile per loro e anche più utile per altri lettori di siti che sono alla ricerca di soluzioni a problemi simili. –

+2

No. Semplice domanda. Risposta semplice Non hai bisogno di più di quello. Stavo cercando la risposta da solo e questa informazione è esattamente ciò che stavo cercando da solo. Nel caos di troppe informazioni, spesso meno è di più. – szym