mongoexport
не позволяет преобразовывать экспортируемую коллекцию, поэтому вам нужно взять экспортированный CSV и использовать другой инструмент для преобразования ObjectId в дату.Вот пример супер уродливого сценария оболочки для этого:
...get objectId \
| sed -E 's|([0-9a-f]{8}).+|\1|' \
| xargs -I {} echo '$((16#'{}"))" \
| xargs -I {} bash -c "echo {}" \
| xargs -I {} date -d @{}
sed
- захватить первые 8 символов ObjectId $((16#{}))
- преобразовать их8 символов в десятичное число date -d @{}
- преобразование секунд в дату
Альтернативой всему этому будет использование структуры агрегации Монго для получения меток времени из ObjectIds, а затемиспользуйте команду $out
, чтобы сохранить обновленные поля в новую коллекцию, из которой вы затем могли бы mongoexport
.