Tengo mongodb y NodeJs. La conexión se realiza a través del mongoosejs.
¿Cuál es la mejor manera de desarrollar ajax infinity scroll? ¿Debo usar límite y desplazamiento?¿Cuál es la mejor manera de hacer la paginación ajax con MongoDb y Nodejs?
13
A
Respuesta
33
El enfoque de "omitir y limitar" no es muy eficiente cuando se busca mucho en el conjunto de datos. Es efectivamente un Shlemiel the Painter's algorithm.
Las consultas de rango son mucho más eficientes (cuando son soportadas por índices). Por ejemplo, imaginemos que está mostrando tweets. El tamaño de página es 20 y que está en la página 1000 y quiere cargar la página 1001.
Esta consulta
db.tweets.find().sort({created_at: -1}).skip(1001*20).limit(20)
es mucho menos eficiente que
db.tweets.find({created_at: {$lt: last_displayed_date}}).
sort({created_at: -1}).limit(20);
(siempre que se tener índice en created_at
).
Se entiende la idea: cuando carga una página, anote la marca de tiempo del último tweet y utilícela para consultar la página siguiente.
Cuestiones relacionadas
- 1. ¿Cuál es la mejor manera de usar mongoDB con node.js?
- 2. ¿Cuál es la mejor manera de implementar la paginación usando Spring MVC con mysql
- 3. django - la mejor manera de combinar paginación con filtrado y request.POST - como stackoverflow - ajax?
- 4. ¿Cuál es la mejor manera de hacer respaldos automáticos?
- 5. ¿Cuál es la mejor manera de hacer GUI en Clojure?
- 6. ¿Cuál es la mejor manera de hacer bucles en JavaScript
- 7. La mejor manera de hacer una programación asíncrona con Asp.Net
- 8. Cuál es la mejor manera de paginar resultados en php
- 9. Datos MySQL - ¿La mejor manera de implementar la paginación?
- 10. ¿Cuál es la mejor manera de hacer la validación de entrada en C++ con cin?
- 11. ¿Cuál es la mejor manera de comenzar con OSGI?
- 12. ¿La mejor manera de usar MongoDB con Node.js?
- 13. Paginación con MongoDB
- 14. ¿Cuál es la mejor manera de validar datos en mongo?
- 15. ¿Cuál es la mejor manera de comenzar con NHibernate?
- 16. ¿Cuál es la mejor manera de usar SOAP con Ruby?
- 17. Cuál es la mejor manera de lidiar con
- 18. ¿cuál es la mejor manera de analizar la respuesta XML en AJAX
- 19. ¿Cuál es la mejor manera de abrir una conexión de base de datos persistente (mongo) en NodeJS
- 20. ¿cuál es la diferencia entre ajax y jquery y cuál es mejor?
- 21. ¿Cuál es la mejor manera de ampliar la funcionalidad?
- 22. ¿Cuál es la mejor manera de afirmar la igualdad numpy.array?
- 23. NodeJS y node-mongodb-native
- 24. ¿Cuál es la mejor biblioteca de AJAX para Django?
- 25. ¿Cuál es la mejor manera de hacer una miga de pan con CodeIgniter?
- 26. ¿Cuál es la mejor manera de hacer una revisión de código con Subversion (SVN)?
- 27. ¿Cuál es la mejor forma de utilizar el atributo [Autorizar] con Ajax y vistas parciales?
- 28. ¿Cuál es la mejor manera de aprender nuevas tecnologías?
- 29. ¿Cuál es la mejor manera de enviar entradas deshabilitadas como parte de una solicitud JQuery AJAX?
- 30. La mejor manera de hacer hooks PHP
¿Qué hacer si hay varios tweets creados al mismo tiempo por diferentes usuarios pero debo mostrarlos? –
¿Exactamente el mismo milisegundo? No lo creo. –
Si ese es el caso, ordene por 'created_at: -1, user_id: 1' –