问题标签 [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 投票
3 回答
61939 浏览

c# - MongoDB GridFs with C#,如何存储图片等文件?

我正在开发一个以 mongodb 作为后端的网络应用程序。我想让用户将图片上传到他们的个人资料中,就像链接的个人资料图片一样。我正在使用带有 MVC2 的 aspx 页面,并且我读到 GridFs 库用于将大文件类型存储为二进制文件。我到处寻找有关如何完成的线索,但 mongodb 没有 C# api 或 GridFs C# 的任何文档。我感到困惑和困惑,真的可以使用另一套大脑。

任何人都知道如何实际实现一个文件上传控制器,将用户上传的图像存储到 mongodb 集合中?太感谢了!

我已经尝试过这种变化无济于事。

0 投票
1 回答
1000 浏览

mongodb - 任何人都可以解释 MongoDB GridFS 功能吗?

我是 MongoDB 用户之一。不幸的是,我听说过 MongoDB GridFS 功能,但我不确定何时何地使用该功能或​​必须使用该功能。如果您可能正在使用该功能,我希望你们能准确解释一下此功能。

谢谢,

0 投票
1 回答
2241 浏览

django - 带有可插拔 MongoDB 存储问题的 Django

我正在尝试使用 django 和 mongoengine 仅通过 GridFS 提供存储后端。我还有一个 MySQL 数据库。

当我从 django 管理员中删除时,我遇到了一个奇怪的(对我来说)错误,我想知道我是否做错了什么。

我的代码如下所示:

我可以很好地上传文件,但是当我删除它们时,似乎有些东西坏了,mongo 数据库似乎处于无法使用的状态,直到我手动删除所有 FileDocument.objects。发生这种情况时,我无法从 django 界面上传文件或删除它们。

从堆栈跟踪我有:

我是否错误地使用了此功能?

更新:

感谢@zeekay 的回答,我能够让一个工作的gridfs 存储插件工作。我最终根本没有使用 mongoengine。我将修改后的解决方案放在github 上。有一个清晰的示例项目展示了如何使用它。我还将项目上传到pypi

另一个更新:

我强烈推荐django-storages项目。它有很多支持存储的选项,并且比我最初提出的解决方案被更多的人使用。

0 投票
2 回答
7936 浏览

mongodb - MongoDB作为静态文件提供者?

MongoDB 非常适合将静态文件(文件、视频)作为 cdn 提供服务。我正在寻找一种可靠的方法来存储大量数据(>+To)来替换 S3 和管理缓存功能。经验。

谢谢。

0 投票
1 回答
512 浏览

mongodb - 结果有效之前的MongoDB GridFS.findOne可能延迟?

在我的应用程序中,我正在调用

这通常会返回一个之前通过调用创建的有效文件

但有时它返回 null。所以我把它放在一个while循环中

这将在大约 400 毫秒后的第二次调用后返回一个有效文件。我做错了什么还是在创建文件到您可以访问它的时间后可能会有延迟?

0 投票
3 回答
6608 浏览

mongodb - 在 MongoDB 上分片 GridFS

我正在记录有关 GridFS 以及在不同机器之间分片的可能性。

阅读此处的文档,建议的分片键是 chunks.files_id。此键将链接到文件集合的 _id,因此此 _id 是增量的。我保存在网格中的每个新文件都会有一个新的增量_id。

在 O'Reilly “Scaling MongoDB”一书中,不鼓励使用增量分片键以避免热点(最后一个分片将接收所有写入和读取)。

您对 GridFS 集合进行分片的建议是什么?
有人遇到过热点问题吗?

谢谢你。

0 投票
3 回答
5348 浏览

c# - 带有 GridFS 的 C# MongoDB 驱动程序

谁能告诉我存储与单个 mongo 文档相关的多个图像的最佳方法?

我的用例是我在“个人资料”集合中有一个“用户”文档。该文档包含有关用户的元数据(电子邮件地址、电话号码..)。
然后我们就可以上传多张关于用户的图片。

我们正在使用 GridFS 将图像存储在 files 集合中,我从 GridFS 取回上传图像的 id。

将该图像对象与上传它的用户对象相关联的最佳方法是什么?我可以将用户的 ObjectID 放在图像对象的元数据中……或者我可以将 ObjectID 放在用户文档中(并创建图像集合)。

我们正在使用 C# 驱动程序……所以如果有人有我的用例的任何示例……那就太好了。

谢谢MJD

0 投票
1 回答
2111 浏览

ruby-on-rails-3 - 如何将文件导入 Carrierwave

所以我有一个使用 rails 3 和 mongodb 的应用程序来提供文件。我想使用运行器进程将所有文件导入到 gridfs 中,而不为系统中已有的文件创建新的 ObjectId。本质上,我想使用carrierwave将文件附加到数据库中已经存在的文件对象中。

出于某种原因,当我创建一个新的文件文档时,我可以毫无问题地附加一个本地文件。但是,我不能将本地文件附加到以前创建的文档中。

我尝试了各种形式的 Mongoid 更新,每次我得到一个方法丢失或无法识别的方法。

例如,这有效:

但这不会:

有任何想法吗?

0 投票
1 回答
659 浏览

utf-8 - mongodb/gridfs java-driver 与 utf-8 元数据一起使用

我正在尝试使用 GridFS 使用 java-driver 加载文件以及一些元数据。(2.5.3) 只要元数据是 ASCII 格式,一切就可以正常工作。但是我遇到了一个例外 - 我尝试设置一个带有非 ascii 字符的 UTF8 字符串的那一刻。String MetaData = "学海"; GridFS gridFS = new GridFS(db); GridFSInputFile inputFile = myFS.createFile(new File(filePath)); DBObject dbObj = inputFile.getMetaData() dbObj.put("metaData", MetaData); ----> 在此处获取异常(如果非 ascii 数据)

0 投票
1 回答
657 浏览

python - 使用 python 和 mongoDB 索引 20M 的记录

我想谈谈我的小项目,以及我是否走上正轨。我需要处理 Medline 的所有文章(http://www.nlm.nih.gov/bsd/licensee/2011_stats/baseline_doc.html)。对于那些不熟悉 Medline 数据库的人,我补充一点信息:

  • 大约有。20.000.000 条记录(83.4 GB 磁盘空间),每条记录都有许多字段和子字段。
  • 您可以以 XML 格式下载此 DB(带有许可证)。
  • 这 20M 的记录分布在 653 个文件中。
  • 每个文件都有一个 MedlineCitationSet,这是一组记录 (MedlineCitation's)。

我想处理这些记录并获取标题,摘要等信息......然后我想用python和mongodb索引这些文件(或记录)。我有一个选择:

我创建了一个 medline 解析器,并为每条记录创建了一个用于 mongoDB 的 JSON 条目,并在通过 pubmedID 进行索引之后。然后我可以创建一个类似 get_abstract('pubmedID'):string 的函数。

我的问题是:

  • 这是个好主意吗?(XML 解析 --> JSON --> 插入和索引!)
  • 我可以使用 GridFS 并获取与每个文件的记录等效的块吗?如何?
  • 你知道其他方法吗?