db.presets.find - возвращает итератор, т.е. данные можно "прочитать" единожды, возможно вы его до шаблона "вычитали". Попробуйте превратить сразу в массив (для небольших списков):
можно сделать с помощью маршрутизации от источника
Если сменить исходящий ip, то ответ придет не вам, а на тот ip, поэтому это вам не поможет.
* Купите доступ к прокси пулу, там бывает по 3-10 тыс прокси серверов.
* Можете использовать бесплатные/открытые прокси, их можно тысячу рабочих найти.
* Использовать Тор.
Polymer сам отслеживает (вызывает) Object.observe или вы?
Можно попробовать использовать временный массив, а в конце например через splice закинуть все значения в отслеживаемый массив.
На крайний случай можно заврапить эти методы и оптимизировать вызов handler.
Можете попробовать Angular Light, там можно сделать независимые блоки/подпрограммы - похоже на то что вы хотите, так же там есть поддержка Object.observe если у вас проблема с dirty-checking (бенчмарк, habr)
Велосипед, но (т.к. задача простая) можно скидывать в файлы, один день - один файл, будет работать гораздо быстрее (передачу/чтение по сети можно ускорить до х100) + экономия диска и памяти. При желании можно делать сжатие - даст экономию диска и более быструю передачу по сети.
В Angular Light есть удобный фильтр для этого: <div al-repeat="i in 5 | generator"></div>в данном примере, в результате будет 5 элементов, вы можете для ng сделать аналог.
В вашем случае наверно самым оптимальным будет параллельное вычерпывание сортированных данных (по одному проходу по каждому серверу и одной записи на каждую строку), если % пересечений высок.
А вообще почему не сделать шардинг?, сделать индекс (например) по 3-м полям и заливать данные в нужные сервера (типа всех alex на 1 сервер, max на 2-ой), что-б не было пересечений, таким образом данные мержить не нужно будет + экономия памяти.
Так же непонятно наличие мастер базы, вполне возможно её можно было избежать.
Шардинг - это "инструмент" не для новичков, наверно поэтому в монге дан низкоуровневый подход к построению архитектуры с расчетом на падение нод и т.п., что будет с еластиком если одина из 4-х нод умрет?
В любом случае можно сделать скрипт (или взять готовый где-то) где по "одному клику" будет шардинг собираться и расширяться.