2014-05-14 2 views
0

У меня есть коллекция, которая должна содержать только документы за последние 3 месяца, но все документы должны быть сохранены в некотором роде. После некоторых исследований мы думали о следующем растворе:Архивирование старых документов mongodb

хрон каждые 3 месяца, которые выполняют:

  1. узнать, сколько документов нужно архивировать.
  2. архив: mongoexport -d MyDB -c MyCollection -q "{ timestamp: { \$gt: MyTimestamp}}" -o MyCollection _export_timestamp.json
  3. проверить, сколько документов в MyCollection _export_timestamp.json и сравните с шагом один
  4. удалите архивированный из коллекции.

Как я могу быть уверен, что экспорт монго был успешным? если я использую java.lang.Process и проверяю ErrorStream. этого достаточно?

ответ

0

Поскольку вы используете Java, возможно, имеет смысл использовать MongoDB Java Driver?

Вы можете использовать Java API для извлечения объектов в резервную копию вместе с библиотекой сериализации, такой как Kryo или Jackson для вывода файла. Это позволит вам делать все, что вам нужно, не беспокоясь о тонкостях взаимодействия между процессами.

+0

Я уже использую данные весны. – lior

Смежные вопросы