Хорошо, поэтому я создаю приложение, основанное на Node.js, и я использую mongoose для обработки моего соединения с mongodb. У меня есть конечная точка, которая такова:Почему мой монгодб звонит так медленно?
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');
}
});
}
По какой-то причине этот вызов занимает 700 мс + для завершения. Тот же вызов, даже не применяя предел, сделанный из оболочки mongodb, возвращается примерно через 4 мс. Похоже, такой простой запрос, так что это замедляет его? Я предполагаю, что я пропустил что-то очевидное в конфигурации где-то, но я понятия не имею.
Спасибо всем, кто может помочь в этом.
Дополнительная информация:
[email protected]
[email protected]
[email protected]
Я не очень знаком с мангуста, так что это просто выстрел в темно- вам необходимо указать свой лимит до вашей команды находят ли? Потому что, может быть, это происходит и сразу же извлекает записи в find(), а затем вы как-то пытаетесь переопределить его? Это выглядит несколько похоже на ваш вопрос: http://stackoverflow.com/questions/5539955/how-to-paginate-with-mongoose-in-node-js –
Изменение запроса для включения ограничения следующим образом не влияет на производительность в любой очевидный путь. Активность.find ({}, {limit: 1000}) .run (функция (ошибка, действия) { –
Насколько велики ваши документы? Можете ли вы разместить db.coll.stats(). –