标签: gridfs

Rails 3去除金属?

Rails 3去除金属?

我正在尝试实现Mongoid,Carrierwave和grid_fs.

我遵循了指南1.

但是,我已经读过Rails 3正在删除Metal(http://github.com/rails/rails/commit/ed34652d1aca148fea61c5309c1bd5ff3a55abfa).

所以我偶然发现了这篇文章:指南2

考虑到Rails 3可能会移除Metal以及将来维护的情况.哪个指南更适合让grid_fs,Mongoid和Carrierwave一起工作?

ruby-on-rails gridfs mongoid

6
推荐指数
1
解决办法
1000
查看次数

我想要GridFS的好处,但主要是存储16MB以下的文件

我需要为大多数不到16MB的文件创建一个存储系统,但我想要GridFS的好处,如版本控制,自定义元数据,轻松备份(使用mongodump)等等.我想说我的文件可能有10%会结束16MB因此我不能依赖于存储在单个文档中,并且我不想为我正在寻找的好处重新创建API.我也在使用mongoDB系统.

我应该使用GridFS吗?

versioning storage file mongodb gridfs

6
推荐指数
1
解决办法
2048
查看次数

使用node.js,mongoose,gridfs-stream读取文件

我正在使用mongoose和gridfs-stream来存储和读取mongodb中的文件.我在这里的例子:https://github.com/aheckmann/gridfs-stream

将文件写入数据库工作正常,但我遇到了读取文件的问题.

mongodb看起来是什么(显示收藏)

fs.chunks
fs.files
Run Code Online (Sandbox Code Playgroud)

文件索引的外观(db.fs.files.find())

{ "_id" : ObjectId("5140392659851df70b000001"), 
"filename" : "cover", 
"contentType" : "binary/octet-stream", 
"length" : 85734, 
"chunkSize" : 262144, 
"uploadDate" : ISODate("2013-03-13T08:30:30.299Z"), 
"aliases" : null, 
"metadata" : null, 
"md5" : "4476b26067daa0677978ba501308a35d" }
Run Code Online (Sandbox Code Playgroud)

然后我使用此代码获取名为"cover"的文件

...
var gfs = Grid(mongoose.connection.db, mongoose.mongo)
var readstream = gfs.createReadStream('cover')
Run Code Online (Sandbox Code Playgroud)

发生错误:

Error: cover does not exist
at self.collection.self.fileId (/mypath/node_modules/mongoose/node_modules/mongodb/lib/mongodb/gridfs/gridstore.js:198:26)
at Cursor.nextObject (/mypath/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:654:35)
at Cursor.close (/mypath/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:960:5)
at Cursor.nextObject (/mypath/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:654:17)
at Cursor.nextObject.commandHandler (/mypath/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:631:14)
at Db._executeQueryCommand (/mypath/node_modules/mongoose/node_modules/mongodb/lib/mongodb/db.js:1702:5)
at g (events.js:185:14)
at EventEmitter.emit (events.js:115:20)
at …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js gridfs

6
推荐指数
1
解决办法
1万
查看次数

使用gridfs和mongoose在mongodb中存储文件

我有以下代码

gridfs.js具有以下编写文件字节的代码

exports.putFile = function(path, name, options, fn) {
    var db;
    db = mongoose.connection.db;
    options = parse(options);
    options.metadata.filename = name;
    return new GridStore(db, name, "w", options).open(function(err, file) {
        if (err) {
            return fn(err);
        }
        return file.writeFile(path, fn);
    });
};
Run Code Online (Sandbox Code Playgroud)

猫鼬模式定义如下.mongoose模式具有文件名和文件本身.

var fs = require('fs');
var mongoose = require('mongoose');
var db = mongoose.connection;
var gridfs = require('./gridfs');
var Schema = mongoose.Schema;

var trackDocsSchema = mongoose.Schema(
        {
            _id : Schema.Types.ObjectId,
            docName: 'string',
            files: [ mongoose.Schema.Mixed ]
        }
);

trackDocsSchema.methods.addFile = function(file, options, …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js gridfs

6
推荐指数
1
解决办法
3162
查看次数

GridFS + NodeJS从mongoDB检索图像

我有来自mongoDB的以下带有图像的JSON,但我不知道如何显示它:

fs.chunks:

{
        "_id" : ObjectId("542e684a8a1cec178a172673"),
        "n" : 1,
        "data" : BinData(0,"2N6DSSfbCN/LLacNDYrJUQDEZgimMUwFpQGoJP0RU19Bi4PM82DjrUnKhE/P9v7P8ZveD1oDpFBM0iml9NE3WQmAvYFoG+nhD73Jm4N9b4LpylaAN5Ef+gVdgGSTAfSUwOikXoVick5pSQCkRmTCU5NT9VVfjHdAx74/ZhFRj+TIRjzlAhzkACBElzgMwGCo7tX+FYrpQLJ5KRmXiwFFwsNtHHzXiK1eu+CG1FumhGpA/qdG8CdDgD1xUHEcerMGO/eLGR9ML7ni/VjXxWzqp2j5DG2/WuKNv7xd3Kz/vr0MctJhuaBIl35YrKhdLnzqDa0uDa6bm4jz+eNyAI2hQbayGo4kVPFe8W7wFpY7qfBvnB9kbocxfZSdADDUNwYaydpT8lIcKEN9XfQJOYZvHp0El"),
        "files_id" : ObjectId("542e684a8a1cec178a172671")
}

fs.files:

{
        "_id" : ObjectId("542e65378axdeckhb0"),
        "uploadDate" : ISODate("2012-11-01"),
        "length" : 15673,
        "chunkSize" : 33222,
        "md5" : "f66e6654854a28e3672cfhds334d223b55a1"
}
Run Code Online (Sandbox Code Playgroud)

需要将“数据”转换为真实图像才能显示。

我正在使用nodeJS,但找不到很好的教程来通过GridFS从mongoDB检索图像。

谢谢你的帮助!

mongoose mongodb node.js gridfs gridfs-stream

6
推荐指数
1
解决办法
607
查看次数

如何在mongoDB gridfs中覆盖图像?

我正在使用MongoDB 3.2和Java 1.8版本以及mongo-java驱动程序。我已将图像保存在数据库中。我能够保存图像,读取图像并读取所有图像。现在我想更新GridFS中的图像。如果图像名称相同,我想覆盖图像。当我尝试用相同的名称保存图像时,我得到了两个图像。我正在使用以下代码保存图像。

GridFSBucket gridFSBucket = GridFSBuckets.create(database, imageCollection);
        InputStream streamToUploadFrom = new FileInputStream(new File(imageFileName));
        GridFSUploadOptions options = new GridFSUploadOptions()
                .metadata(new Document("type", "brand").append("name", name).append("uuid", UUID.randomUUID().toString()));
        ObjectId fileId = gridFSBucket.uploadFromStream(name, streamToUploadFrom, options)
Run Code Online (Sandbox Code Playgroud)

谁能指导我找到任何特定的文档链接/解决方法,以便我可以覆盖/更新图像。

java mongodb gridfs

6
推荐指数
1
解决办法
1658
查看次数

如何在Meteor中执行服务器端文件处理操作?

我在服务器上使用GridFS存储Word(.docx)文件.我希望能够使用docx-builder NPM包将文档合并到一个Word文件中.

这是我上传文件的方式:

Meteor.methods({
    uploadFiles: function (files) {
      check(files, [Object]);

      if (files.length < 1)
        throw new Meteor.Error("invalid-files", "No files were uploaded");

      var documentPaths = [];

      _.each(files, function (file) {
        ActivityFiles.insert(file, function (error, fileObj) {
          if (error) {
            console.log("Could not upload file");
          } else {
            documentPaths.push("/cfs/files/activities/" + fileObj._id);
          }
        });
      });

      return documentPaths;
    }
})
Run Code Online (Sandbox Code Playgroud)

我怎样才能在服务器端执行此操作?我只能做这个服务器端因为我正在使用的fs包需要无法在客户端执行的包.

这就是我目前正在努力解决这个问题的方法.从客户端,我正在调用以下方法(声明为a Meteor.method):

print: function(programId) {
  // Get the program by ID.
  var program = Programs.findOne(programId);
  // Create a new …
Run Code Online (Sandbox Code Playgroud)

node.js gridfs meteor server

6
推荐指数
1
解决办法
618
查看次数

不带ActiveRecord导轨的ActiveStorage 6

是否有可能增加ActiveStoragerails 6不增加ActiveRecord 我使用的只有API应用程序mongoDB的数据库。现在,正如我所观察到的那样,FSGrid这实际上是一个不错的选择,它存在数据库大小问题,并且我们希望在上可以使用物理文件S3

activerecord amazon-s3 gridfs rails-activestorage ruby-on-rails-6

6
推荐指数
1
解决办法
235
查看次数

通过 GridFS 将大型 DataFrame 写入 MongoDB

我处理包含数字和文本的大型数据帧。显然我可以将每列/行存储为一个 sep。我的 mongoDB 中的文档,但我想在加载数据时删除和麻烦。

我考虑过使用 GridFS,它是通过使用 MongoEngine FileField 进行抽象的。与此同时,我想出了一个适合我的解决方案:

import pandas as pd
from mongoengine import Document, StringField, FileField

from io import BytesIO


class Frame(Document):
    name = StringField(required=True, max_length=200, unique=True)
    data = FileField()

    @property
    def frame(self):
        str_data = BytesIO(self.data.read()).read().decode()

        try:
            return pd.read_json(str_data, typ="frame")
        except ValueError:
            return pd.read_json(str_data, typ="series")

    def __str__(self):
        return "{name}: \n{frame}".format(name=self.name, frame=self.frame)

    def put(self, frame):
        if self.data:
            self.data.replace(frame.to_json().encode())
        else:
            self.data.new_file()
            self.data.write(frame.to_json().encode())
            self.data.close()

        self.save()


if __name__ == '__main__':
    from pydata.config import connect_production

    connect_production()
    frame = pd.DataFrame(data=[[1,2,4],[3,4,6]], columns=["A","B","C"], index=["X","Y"])

    f …
Run Code Online (Sandbox Code Playgroud)

mongodb gridfs mongoengine python-3.x pandas

5
推荐指数
0
解决办法
612
查看次数

从 GridFS Python Flask Mongodb 检索和显示图像

嗨,我目前正在使用 Python Flask 来存储我的图像,我已经成功地使用 gridfs 将图像存储到 mongodb 中,但现在我不确定如何检索图像。

我知道由于文件很大,它将在 fs.chunks 中分成块。我可以查询结果,因为我为所有图像创建了一个 id 并将其附加到 fs.files,我将只使用 objectID 来查询我的 fs.chunks 集合。然而,在那之后我不知道如何显示图像。

有谁知道如何从 mongodb 的 gridfs 中为 python flask 检索图像。

python mongodb gridfs flask

5
推荐指数
0
解决办法
1617
查看次数