Здравствуйте. Возник такой вопрос, но для начала объясню суть.Есть приложение парсера сайтов и есть база данных mongoDb куда парсер отправляет объекты с данными о товарах методом save(). Проблема в том, что большая часть файлов в базе не нуждаются в обновлении, стоит ли их отфильтровывать на стороне приложения, т.е вначале запрашивать все объекты из базы данных, сверять их на стороне приложения и потом уже уникальные отправлять в базу данных, или же выгоднее просто отправлять все объекты методом save(), а там пусть уже MongoDB разбирается, что ей нужно обновить, а что не обновлять.
idx12x4xxx, исправил комментарий. Ответ зависит как от структуры самих данных так и от общего количества отслеживаемых товаров.
Если количество относительно небольшое, то вообще пофиг по какому из вариантов вы будете делать (но проще по вашему второму) если же количество товаров очень большое, то можно предусмотреть ряд оптимизаций, уменьшающих число запросов к БД.
idx12x4xxx, а говорил не про количество запросов а про количество записей.
По запросам, большое или нет зависит от железячных возможностей вашего сервера, от частоты запуска парсера и еще кучи параметров. Но 300-10000 в принципе не большое количество даже в секунду (но опять же, надо учитывать что запросы бывают разные).
я бы так и попробовал - собрать массив updateOne из всего что надо обновить/записать в монгу, и послал бы один bulkWrite(массив), пусть монга сама разбирается что с ним делать