Bien, entonces estoy construyendo una aplicación basada en Node.js y estoy usando mangosta para manejar mi conexión a mongodb. Tengo un punto final que es tal:¿Por qué mi llamada mongodb es tan lenta?
getTestStream : function(req, res, conditions, callback) {
Activity.find()
.limit(1000)
.run(function(err, activities) {
if (err){
util.sendError(req, res, "Query Error", err);
} else if (activities) {
res.send(activities);
} else {
util.send('nope');
}
});
}
Por alguna razón, esta llamada tarda 700ms + en completarse. La misma llamada sin aplicar un límite de mongodb shell regresa en unos 4 ms. Parece una consulta tan simple, así que, ¿qué está frenando tanto? Supongo que me he perdido algo obvio en la configuración en alguna parte, pero no tengo ni idea.
Gracias a todos los que pueden ayudar con esto.
otra información:
[email protected]
[email protected]
[email protected]
No estoy muy familiarizado con la mangosta, así que esto es sólo un tiro en el obscuro ¿Es necesario especificar su límite antes de su comando find? Porque tal vez está saliendo y recuperando los registros de inmediato en find(), y luego estás tratando de volver a limitarlo de alguna manera? Esto se parece algo a su pregunta: http://stackoverflow.com/questions/5539955/how-to-paginate-with-mongoose-in-node-js –
La modificación de la consulta para incluir el límite de la siguiente manera no afecta el rendimiento en cualquier forma obvia Activity.find ({}, {límite: 1000})?. .run (function (err, actividades) { –
¿Qué tamaño tienen sus documentos Se puede publicar un db.coll.stats() –