我认为在流星项目中,有理由考虑从gridfs
后端CollectionFS
迁移到迁移s3
。
我很想做的一件事是迁移当前使用gridfs
集合存储的图像/文件。
有人尝试过吗?我找不到任何指南甚至建议。
我现在的想法是:
听起来不错吗?
我就是这样做的!
您基本上是对的,这就是我的做法。迁移是一个非常简单的过程。我已经从GridFS转到了S3。
1)通过添加new FS.Store.S3("store_name",{})
,CollectionFS自动为新商店克隆旧商店中现有文件的元数据。但是,在此新存储中,所有文件大小均为零。
Images = new FS.Collection("images", {
stores: [
new FS.Store.S3("s3images", {}),
new FS.Store.GridFS("images", {})
]
});
2)两家商店都已到位时,您需要使用此处引用的管道手动迁移内容https://github.com/CollectionFS/Meteor-CollectionFS/wiki/How-to:-Convert-a-file-已存储。
if(Meteor.isServer) {
Images.find().forEach(function (fileObj) {
var readStream = fileObj.createReadStream('images');
var writeStream = fileObj.createWriteStream('s3images');
readStream.pipe(writeStream);
});
}
希望在此之后,您现在将看到新商店的文件大小与旧商店的文件大小相同!
3)(可选)删除旧存储。如果同时保留两者,则将插入的文件添加到两者中,并优先考虑阵列中的第一个存储。
参考:https : //github.com/CollectionFS/Meteor-CollectionFS/issues/747
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句