У нас есть очень большая коллекция документов с некоторыми предопределенными полями, которые могут либо иметь значение, либо нет.MongoDB - как получить заполнение полей как можно быстрее?
Мы должны собрать fill-rates
этих полей, мы написали скрипт, который обрабатывает все документы и подсчитывает значения заполнения для каждого, проблема в том, что обработка всех документов занимает много времени.
Есть ли способ использовать db.collection.aggregate
или db.collection.mapReduce
для запуска такого скриптового сервера? Должны ли они иметь значительные улучшения в производительности? Будет ли это замедлять другие способы использования этой коллекции (например, проведение крупного замка)?
Все еще ваш вопрос непонятен, вы не говорите, если Aggregate быстрее, чем MapReduce. Во всяком случае хорошая работа! –
На самом деле я не знаю, потому что не смог найти общий способ миграции из простого скрипта node.js, который обрабатывает документы один за другим с помощью агрегатной функции, описанное выше решение описывает, как я мог это сделать с помощью map- уменьшить – marmor