jjzjj

skipper-gridfs

全部标签

mongodb - 每个 Mongoldb GridFS block 是否代表磁盘中的每个物理文件

在正常的Mongodb集合中,每个block实际上就是磁盘中的每个物理文件,对吧?但是在GridFS中,mongoDB仍然将每个block视为磁盘中的每个物理文件? 最佳答案 没有。mongo服务器将从在特定路径上找到的文件中读取数据。来自分片集群的mongod配置服务器将从与数据服务器不同的地方读取数据,他有自己的数据文件,用于存储block元数据。根据所使用的存储引擎,数据将写入MMAPv1引擎中最大2GB的文件或WiredTiger引擎中的更大文件。 关于mongodb-每个Mon

mongodb - 使用 gridfs 在 mongodb 中处理文件

使用gridfs在mongodb中处理文件我有以下问题,我试图找到一个多星期的答案,但在网上找不到任何有趣的答案:1)是否可以通过gridfs将同一mongofile请求中的2个不同文件插入到mongo数据库中?文件能否具有相同的uniqfiles_id2)我有用户集合,每个用户都有一个或多个文件上传到mongodb。是否可以在用户和文件之间建立链接?我想知道哪个文件属于每个用户。3)那么是否可以在用户集合中包含文件的元数据(默认为fs.files)。例如,看起来像这样的东西:{_id:112,Firstname:“Mickael”,Lasttname:“Jackson”,Files:

mongodb - 如何在保存到 gridfs 之前计算文件的 MD5

我正在为gridfs使用javaMongoDB驱动程序,并希望在保存文件之前使用MD5哈希检查文件是否已经存在。本质上我正在尝试做this在Java中。我使用以下逻辑尝试了apachecommon-codec中的DigestUtils:publicGridFSDBFilesave(InputStreaminputStream,StringcontentType,Stringfilename)throwsIOException{Stringmd5=DigestUtils.md5Hex(inputStream);Listmd5match=gridFs.find(newBasicDBObje

mongodb - 服务器端 Mongodb GridFS 文件复制

根据业务需求,我需要提供在GridFS上复制某些文件内容的可能性。当然,它可以在特定领域的层上完成。但在这种情况下,我可以看到一些开销:从mongo-server获取流在业务层分配内存阅读放回mongo-server显而易见的解决方案是编写mongo端JavaScript,它将在单个服务器的范围内执行复制。所以我的问题:用于在JavaScript上管理GridFS的API的描述在哪里?如果我的GridFS被分片会有什么问题吗?如果我的GridFS被复制了会有什么问题吗?提前致谢 最佳答案 您永远不需要在单个服务器中复制GridFS文

ruby-on-rails - 从 GridFS 检索文件并作为常规 IO::File 传递

我正在使用GridFs存储Excel文件等。我想使用Spreadsheetgem来解析这些。我已经试过了,但它(显然!)没有用:1.9.3p194:036>db=Mongo::Connection.new.db(Mongoid.database.name)1.9.3p194:037>grid=Mongo::GridFileSystem.new(db)1.9.3p194:038>f=grid.open('test1.xls','r')=>#1.9.3p194:039>Spreadsheet.open(f)NoMethodError:undefinedmethod`flush'for#您有

mongodb - 了解 GridFS 文件集合中的 mongodb md5 键

请解释一下md5key在GridFS文件集合中的用法。在mongodb中GridFSreference它说:“从filemd5API返回的MD5散列。此值具有String类型。”,此散列需要什么? 最佳答案 几周前我也试图理解这一点,但我仍然有一些疑问,但我向你报告我读过的内容hereAkindofsafemodeisbuiltintotheGridFSspecification.Whenyousaveafile,andMD5hashiscreatedontheserver.Ifyousavethefileinsafemode,an

javascript - 显示来自 GridFs (MongoDB) 的图像

我正在使用以下代码使用GridFs读取保存在MongoDB中的图像文件:app.get('/picture',function(req,res){varreadstream=gfs.createReadStream({filename:'trooper.jpeg'});readstream.on('data',function(data){//Wegotabufferofdata...varbuf2=newBuffer(data).toString('base64');res.send(buf2.toString())console.log(buf2.toString());conso

node.js - 从 Gridfs 读取 block 并转换为缓冲区

我有一个关于缓冲区的问题。这是我的代码:varGrid=require('gridfs-stream');varmongodb=require('mongodb');vargfs=Grid(db,mongodb);vardeferred=Q.defer();varimage_buf=newBuffer('buffer');varreadableStream=gfs.createReadStream(name);readableStream.on('data',function(chunk){console.log(chunk);image_buf=Buffer.concat([imag

javascript - 使用 gridfs-stream 执行 find() 时如何指定 GridFS 存储桶

使用gridfs-stream,查找和抓取文件时如何指定bucket名称?我的问题是在stackoverflow上发现的以下问题的后续问题HowcanIspecifyaGridFSbucket那里的解决方案提供了一个示例,说明如何在调用createWriteStream时指定存储桶。根据@vsivsi提供的代码,我可以使用以下代码中的“root”选项将文件添加到我的自定义存储桶://fyi,req.filehasbeenpopulatedusingmultervargfs=Grid(mongoose.connection.db);varwriteStream=gfs.createWri

php - MongoDB GridFS 存储多种尺寸的图像或使用动态调整大小

在我的网络应用程序中,我使用MongoDBGridFS来存储用户上传的图像。站点的其余部分由MySQL管理。在照片表(在mysql中)中,我有三个字段用于存储文件对象的MongoId。小中等大所以我存储了图像的三个版本。小型、中型和大型。我的问题是,有时我需要使用比图像“小”版本更小的缩略图(即在小部件框、消息头像等中),或者我需要使用略小的版本中等图像。所以我的问题是,最好只在GridFS系统中存储一张图像,然后在照片表中有一个字段存储MongoID,然后创建一个动态调整图像大小的脚本(即http://localhost/image/fetch/{mongoid}?resize=50