Как отобразить / уменьшить коллекцию? - PullRequest
0 голосов
/ 18 апреля 2020

Я немного запутался в парадигме сокращения карты и шардинга.

Я знаю, что будут вызываться функции mapper и reduce: первая со всеми документами, вторая когда я вызываю только emit ().

Я использую mongodb с нескольких дней, поэтому я не знаю всех аспектов этой базы данных, но, если я правильно понимаю систему шардинга, она в основном разбивает большую коллекцию на меньшие порции документов, верно?

Если это правильно .. что происходит с map-lower?

Например, в коллекции из 100 документов с 4 осколками:

  • осколок 1: 1-25 документов
  • осколок 2: 26-50 документов
  • осколок 3: 51-75 документов
  • осколок 4: 76-100 документов

Будет ли вызвана функция mapper для первых 25 документов первого шарда, а затем обработана функция «уменьшить» ... и после этого она вызывает документы второго шарда и т. Д., Или не?

Если да, будет ли вызываться функция Reduce каждый раз, когда я вызываю emit () для каждого документа сегмента? поэтому в основном я спрашиваю:

Если у меня есть лог c, который должен работать со всеми документами моего запроса (предположим, кумулятивная сумма), я не могу разбить суммирование документы, когда больше нет документа осколка. Могу ли я обработать его как движение курсора слева направо? на весь набор данных?

Спасибо и простите за грубое объяснение. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...