问题标签 [gridfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3066 浏览

c# - How do I overwrite a file in MongoDB Gridfs?

I am writing to the MongoDB gridfs using the following code:

When I look into Gridfs I can see that files seem to be being added, so I'm ending up with lots of files with the same name. When I read the gridfs it always returns the latest file, so it all works ok, but it seems rather inefficient.

How do I perform a MongoDB gridfs write that overwrites any exiting file with the same name?

0 投票
1 回答
1898 浏览

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

在我的网络应用程序中,我使用 MongoDB GridFS 来存储用户上传的图像。

该站点的其余部分由 MySQL 管理。

在照片表(在 mysql 中)中,我有三个字段用于存储文件对象的 MongoId。

  • 小的
  • 中等的
  • 大的

所以我存储了三个版本的图像。小型、中型和大型。

我的问题是,有时我需要使用比图像的“小”版本更小的缩略图(即在小部件框、消息头像等中),或者我需要使用稍微小一点的中等图像版本.

所以我的问题是,最好只在 GridFS 系统中存储一张图像,然后在照片表中使用一个字段来存储 MongoID,然后创建一个动态调整图像大小的脚本(即http://localhost/image/ fetch/ {mongoid}?resize=50

否则,在我的数据库中,我需要 thumbnail_50、thumbnail_100、medium_300、medium_400 等。

沿着即时调整大小路线走会有什么影响?这是一个坏主意还是个好主意?你会怎么办?

谢谢。

0 投票
1 回答
2164 浏览

mongodb - 将多个文件通过管道传输到一个 zip 文件中

我在 GridFS 文档存储中有几个文件,我想做的是通过 NodeJS 中的标准输入将这些数据传输到一个 zip 文件中。这样我最终会得到一个包含所有这些文件的 zip 文件。

现在我的问题是如何在 zip 文件中给文件一个有效的文件名。我想我需要模拟/伪造一个包含文件名的文件头?

任何帮助表示赞赏!

谢谢

0 投票
0 回答
420 浏览

nginx - 如何使 nginx-gridfs 正确使用正则表达式位置匹配的结果

简而言之,这不起作用:

这是使用https://github.com/mdirolf/nginx-gridfs

它有多个问题。这只是一个仅供参考,因为我认为它不能用位置正则表达式来完成,因为:

  1. group 不是进程,并且 $1 被逐字用作“storage.$1”集合名称
  2. 不知何故,可能在 C 代码中,文件名是通过从匹配中删除字符来获取的,通过删除正则表达式中指定的确切字符数。意思是,“/grid/(.+)/”有 10 个字符长,这就是从整个 url 中删除的字符数(显然减去域)。我已经对此进行了很多测试(仅通过 C 代码很短),这就是它正在做的事情。

我假设这仍然可以通过以某种方式重写或另一个 nginx 配置来完成。

作为最后的手段,我会联系项目维护者,但 nginx 的配置似乎足够灵活,可以解决这些问题,因为这就像广告宣传的那样:

0 投票
1 回答
881 浏览

java - MongoDB 返回的 ObjectId 值与存储的值不同(使用 GridFS)

我将文件存储在 MongoDB 中。为了在以后检索它们,我正在记录ObjectId与每个文件关联的内容。

然而,返回的 id 值总是与存储的不同。

例如,当:

4E9845D6036400DF09609B23存储的值返回为4E9845D6036400DF09609B22 4E98466F036400DF09609B27存储的值返回是4E98466F036400DF096035003 4E9848530364904B6B575003存储的值返回是4E9848530364904B6B575002

差异仅在最后一位,差异始终相同:返回值比存储值小 1。

当我使用存储的值运行测试时,文件按预期返回。所以这似乎是我必须解决的问题。

有谁知道为什么会发生这种情况?

0 投票
3 回答
10244 浏览

mongodb - 我应该使用 GridFS 还是二进制数据从 MongoDB 存储和检索图像?

我想知道哪个更好/更快

  1. 拥有一个单独的文档集合,其中仅包含保存为二进制数据的图像,可能还有一些元数据。
  2. 或者使用 GridFS 来存储图像。
0 投票
1 回答
284 浏览

mongomapper - Padrino + MongoMapper/联合问题

我在 Padrino 上使用 MongoMapper 和 Joint,并试图让上传工作。但是,我一直被抛出一个NoMethodError "undefined method 'path' for #<Hash:0xa6fbdf0>". 好像看不到路径,不过参数还行。这里有什么问题?

代码要点:https ://gist.github.com/1323998

我能够让它没有错误,但是当我用 查找文件时mongofiles,我找不到。rack/grid-fs 也是如此。联合储蓄在哪里,是否在储蓄?

0 投票
0 回答
443 浏览

php - MongoDB 和 PHP - 插入和更新大型 PHP 数组

我有一个循环,每次循环迭代时,它都会向数组添加一条记录。

在我当前的模型中,我等待循环完全完成,然后将该数组插入 MongoDB,直到现在还没有遇到问题。

现在我的数组大小在循环后开始超过 10 MB,我读到 Mongo 有 4MB 的限制。而且我不想在等待循环完成时将整个数组存储到内存中。

理想情况下,我希望在循环中对集合的同一个 Mongo Id 进行更新,这样我就不需要将数组存储在内存中。但是,如果集合大小超过 4MB,Mongo 似乎不支持,所以我不知道该怎么做。

我阅读了有关 GridFS 的信息,但没有看到使用它插入数组的方法。任何想法将不胜感激。

0 投票
4 回答
1625 浏览

mongodb - Mongo::OperationFailure, 数据库命令 'filemd5' 失败: (errmsg: 'exception: best guess plan requested, but scan and order required)

我有一个应用程序可以通过 Padrino 中的 MongoMapper/Joint 将文件上传到 GridFS。一切正常,然后突然之间,我收到了错误:

堆栈跟踪:

MongoMapper 组上的这个线程建议我在集合上运行ensure_index(或create_index) 。files.chunk但是,我不知道如何使用 MongoMapper 执行此操作。

有没有办法防止这种情况?

0 投票
1 回答
161 浏览

mongodb - 无法在 GridFS 中保存多个文档(使用 MongoMapper/Joint)

我编写了一个允许您上传文件的 Padrino 应用程序。它使用 MongoMapper(通过 Joint)将这些文件(图像)存储在 GridFS 中。我可以毫无问题地存储一个文件。但是,当我去存储另一个文件时,它会保存,但它不在数据库中。我编写了规范以直接使用模型类(不通过帕德里诺路线),我得到了相同的结果。我在这里做错了什么?

相关文件的要点:https ://gist.github.com/1341836

应用程序:http: //github.com/eturk/fhsclock