2016-03-31 2 views
0

Я использую MongoDB и GridFS в NodeJS для хранения файлов. Из-за требования (файлы соответствуют 1 к 1 с другими данными) мне нужно копировать/дублировать файлы на стороне сервера по запросу со стороны клиента (AngularJS). Я не просто хочу копировать/дублировать соответствующие данные в файлах fs.files, но также и в fs.chunks и одновременно обновлять метаданные файла. Как мне это сделать? Спасибо заранее.Копирование/дублирование файлов в MongoDB, GridFS и NodeJS

ответ

0

один путь заключается в следующем

  1. Создать дамп нужной коллекции.
  2. Создать уникальный индекс с опцией dropDups:true

    db.collection ('питания') ensureIndex. ({Идентификатор: 1}, {уникальных: истина, dropDups: истинный})

    dropDups удалит все дубликаты документов.

+0

Большое спасибо за ваш ответ. Извинения, но, похоже, мой вопрос не был четко поставлен. Мне понадобится следующее: по запросу со стороны клиента (угловой) полный файл должен быть скопирован/дублирован (с новыми метаданными, полученными с клиентской стороны). Кстати, я использую gridfs-поток и грозный. Еще раз спасибо. PS: Я только уточнил, что в моем вопросе. – Fluffy

+0

Итак, вы хотите обновить документы или вставить их, не касаясь существующих, даже если это то же самое? –

+0

Действительно, я хочу создать копию/дубликат файла в базе данных и изменить метаданные. Тем не менее, я не хочу создавать только копию/дубликат в файлах fs.files, указывающих на исходные фрагменты, но мне также нужно дублировать куски, поскольку файлы находятся в взаимно однозначном соответствии с другими данными и после удаления этого другие данные, также необходимо удалить соответствующий файл, следовательно, необходимо дублировать фрагменты файлов. Еще раз спасибо! – Fluffy