Я знаю, что этот вопрос задавался раньше, и, похоже, все согласны с тем, что вам следует разбить документы на несколько коллекций, вероятно, по типу документа. Однако мне непонятно, почему некоторые вещи в документации не имеют смысла. А именно:
Если общее количество документов невелико, вы можете сгруппировать документы в коллекцию по типу
Здесь подразумевается, что если общее количество документов достаточно велико , Я должен склоняться к сохранению их в одной коллекции?
Отдельные коллекции очень важны для высокопроизводительной пакетной обработки
Почему? Означает ли это, что если я обновляю только один документ за раз, это не проблема? Как насчет выбора большого количества документов и не обновления их?
Моя проблема в том, что мне нужно сделать полдюжины или около того типов документов доступными для поиска с помощью произвольного текста. Они должны быть доступны для поиска по:
- имени и тегам с текстовым поиском
- производителю_id и в некоторых редких случаях document_type по точному значению
Интуитивное решение состоит в том, чтобы хранить все мои доступные для поиска документы в одной и той же коллекции, потому что он сохраняет атомарность обновлений указанных документов и согласуется с «сворачивающимися» документами меньшего размера, в отличие от наличия второй доступной для поиска коллекции. (или, альтернативно, другая БД, такая как ElasticSearch или что-то в этом роде). Я ожидаю, что моя БД будет расти бесконечно, пока нерелевантные документы не будут архивированы.
Я что-то упускаю?