Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Утилита mongodump
создает двоичный экспорт данных из MongoDB и сохраняет определения индексов и параметры сбора в metadata.json
, связанные с каждой сбрасываемой базой данных. Данные индекса не занимают сколько-нибудь значительного места в вашей резервной копии и обычно будут использоваться mongorestore
для повторного обеспечения индексов после того, как каждый из данных для каждой коллекции будет импортирован из дампа.
Если вы хотите во избежание создания каких-либо новых вторичных индексов после завершения восстановления mongorestore
имеет опцию --noIndexRestore
.
Примечание: индекс по умолчанию _id
инкрементно восстанавливает mongo db без восстановления индексов?
blockquote>Параметр для
--noIndexRestore
применяется независимо от того, вы или нет восстановление в существующую базу данных. Если выmongorestore
в существующей базе данных с индексами, использующими параметр--noIndexRestore
, новые индексы не будут добавлены, но существующие индексы будут по-прежнему обновляться по мере ввода данных.Инкрементное резервное копирование & amp; восстановление действительно представляет собой отдельный вопрос, если у вас нет упрощенного варианта использования: вставка новых документов из последовательных дампов.
Как и в MongoDB 2.6, утилита
mongorestore
вставляет только документы (т. е. нет опций для обновлений / upserts). Вы можете использоватьmongorestore
для вставки нескольких дампов в существующую коллекцию, но любые документы, вызывающие повторяющиеся исключения ключей (например,_id
), будут пропущены.Обычно я ожидал, что инкрементное резервное копирование & amp; восстановление подразумевает дельта изменений (все вставки / обновления / удаления с момента предыдущего резервного копирования) и возможность повторного применения их к более старой копии одних и тех же данных. Чтобы получить инкрементное резервное копирование, вам понадобится история изменений данных, которые в случае MongoDB будут предоставлены журналом операций реплики [o3] .