【发布时间】:2016-07-19 17:47:17
【问题描述】:
我在 NodeJS 中使用 MongoDB 和 GridFS 来存储文件。由于要求(文件与其他数据一一对应),我需要根据客户端(AngularJS)的请求在服务器端复制/复制文件。我不仅想复制/复制 fs.files 中的相应数据,还想复制 fs.chunks 中的相应数据,并同时更新文件的元数据。我该怎么做?非常感谢。
【问题讨论】:
我在 NodeJS 中使用 MongoDB 和 GridFS 来存储文件。由于要求(文件与其他数据一一对应),我需要根据客户端(AngularJS)的请求在服务器端复制/复制文件。我不仅想复制/复制 fs.files 中的相应数据,还想复制 fs.chunks 中的相应数据,并同时更新文件的元数据。我该怎么做?非常感谢。
【问题讨论】:
一个方法是下面的一个
使用dropDups:true 选项创建唯一索引
db.collection('stuffs').ensureIndex({identifier: 1}, {unique: true, dropDups: true})
dropDups 将删除所有重复的文档。
【讨论】:
我们有相同的要求 - 在服务器上复制文件。 我们能找到的唯一方法基本上是下载并重新上传:
bucket.openDownloadStreamByName(name)
.pipe(buckent.openUploadStream(new_name))
【讨论】: