Просматривая использования capped collections с MongoDB вопрос пришел в голову над следующим утверждением:.MongoDB Перетяжка Разъяснение
«Вы можете обновить документы в коллекции после их вставки Тем не менее, эти обновления не может заставляют документы расти. Если операция обновления приводит к тому, что документ будет расти за их первоначальный размер, операция обновления завершится неудачно ».
Это само по себе звучит разумно, если не полностью объяснить причины. И это заставляет меня задуматься: «Если я не хочу, чтобы документ расти, но, возможно, добавьте дополнительную информацию (то есть: $ push к массиву), то что было бы неправильно с заполнением документа до моего ожидаемого размера».
Итак, моя посылка звучит разумно (для меня в любом случае), вплоть до чтения этого фрагмента с FAQ on padding.
Предупреждение Не вручную вставляйте документы в ограниченную коллекцию. Применение руководства отступы к документу в закрытой коллекции могут нарушить репликацию. Кроме того, заполнение не сохраняется, если вы повторно синхронизируете экземпляр MongoDB.
И снова это поднимает мой вопрос: «Почему это так?» Или конкретно:
Зачем заполнять документ в закрытой коллекции в этой «разрывающей репликации»?
Есть пропущенный раздел документации с указанием очевидных причин для этого? Или это просто «Темная магия» в закрытой коллекции внутренней работы на работе? (Возможно, связанная с частью «заполнение не сохранилась»)
Или это просто очень пессимистично, и на самом деле нет причин, по которым вы не могли бы проложить такой способ? (По крайней мере, в последних версиях).
Был бы рад, если бы кто-то мог пролить свет на то, почему эти утверждения верны.
P.S Хотя это не строго программирования я рассматривал ручную набивку технику быть методом программирования, и, следовательно, оставил вопрос здесь.
Я считаю, что это связано с тем, что второстепенные люди не знают о вашем заполнении вручную. Он не идет вниз oplog – Sammaye