Я работаю Mongo 2.6.3 Я обновляю около 900 записей, а иногда и до 5000 записей. Раньше у меня было это в цикле, и для 900 записей для перезарядки потребовалось около 1 минуты.MongoDB Bulk Update is slow
Прямо сейчас, я использую API initializeUnorderedBulkOp и занимает около 40 секунд для 900 записей. Почему это так медленно?
я в основном имеют
var batch = collection.initializeUnorderedBulkOp({useLegacyOps: true});
// for loop
batch.find(query).upsert().updateOne({my object});
batch.execute({w:0},function(err, result) {
Это используется драйвер узла. Снимок экрана моей сетевой панели для этих вызовов http://cl.ly/image/0L2a0o0w1I1b
Когда данные меньше, требуется меньше времени, поэтому это определенно проблема с количеством записей. Наконец, мои объекты не огромны, они, может быть, 9 ключей или около того, никаких больших данных.
Любые идеи о том, как получить это время?
Может 'запрос' использовать индекс? Если нет, убедитесь, что это возможно. – JohnnyHK
Можем ли мы получить дополнительную информацию? Что такое запрос? Он проиндексирован? Какие обновления? Какие индексы существуют в коллекции? – wdberkeley
Уг, индексирование - это ответ. Вы должны оставить это, чтобы я мог отметить это. Я тупой, потому что не понимаю. –