У меня есть приложение NodeJS, в котором хранятся все его данные, даже изображения в MongoDB. Теперь я хочу использовать S3 для хранения файлов моего приложения (изображения, 43 ГБ), поэтому мне нужно перенести туда все файлы, которые есть в моем mongo.
Я нашел инструмент s3cmd
, который может передать мои файлы в экземпляр S3 (пространство DigitalOcean), но я не могу найти способ получить доступ к этим файлам. Я знаю, что они хранятся в коллекциях fs.files
и fs.chunks
, но я не могу понять, как на самом деле использовать их в качестве входных данных для s3cmd
!
Мы будем очень благодарны за любую помощь !!!
РЕДАКТИРОВАТЬ: Это формат, в котором хранятся изображения:
fs.files
{
"_id" : ObjectId("5ae97922c1dabec8d2d0bdb0"),
"filename" : "2b57455f3878d11dabc9c984da7de314_postImage.jpeg",
"contentType" : "binary/octet-stream",
"length" : 2291623,
"chunkSize" : 261120,
"uploadDate" : ISODate("2018-05-02T08:38:58.549Z"),
"aliases" : null,
"metadata" : null,
"md5" : "9ad420eaa7c28a73e449199430627802"
}
fs.chunks.findOne ()
{
"_id" : ObjectId("5ae2d77f6616b4a9d93cb4b1"),
"files_id" : ObjectId("5ae2d77f6616b4a9d93cb4b0"),
"n" : 0,
"data" : BinData(0,"iVBORw0KGgoAAAANSUhEUgAAAuAAAAJvCAYAAAA6OGQEAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRher38tcAAAAASUVORK5CYII=") }
Необходимо будет записать сценарий или программу, чтобы получить файлы от MongoDB и скопировать их в S3.
По всей вероятности файлы в MongoDB хранятся в формате BSON, таким образом, они требуют, чтобы быть преобразованными сначала.
, Поскольку Вы отметили, что используете Синтаксический анализ - пробуют эти utils для извлечения изображений.