Desidero conoscere il record più recente in una raccolta. Come farlo?Ottieni l'ultimo record dalla collezione mongodb
Nota: So che la seguente riga di comando interroga opere:
1. db.test.find().sort({"idate":-1}).limit(1).forEach(printjson);
2. db.test.find().skip(db.test.count()-1).forEach(printjson)
dove IDATE ha aggiunto il timestamp.
Il problema è più lungo la raccolta è il momento di recuperare i dati e la mia raccolta 'test' è davvero enorme. Ho bisogno di una query con risposta temporale costante.
Se è presente una query della riga di comando mongodb migliore, fatemi sapere.
Vedo un sacco di soluzioni NoSQL e MongoDB sostenendo "scrivere due volte", per lo più per i titolari di conteggio quando la dimensione dei dati diventa molto grande. Immagino che questa sia una pratica comune? – Vinny
MongoDB non esegue il flush su disco molto spesso e non ha transazioni, quindi le scritture diventano significativamente più veloci. Il compromesso qui è che sei incoraggiato a de-normalizzare i dati che spesso portano a più di una scrittura. Ovviamente, se ottieni un throughput di scrittura 10x o 100x (che ho visto), quindi 2x o 3x le scritture sono ancora un grande miglioramento. –