0

我需要在我的 Mongo 数据库中存储一些文件并遇到以下两个问题:

  1. 我不关心这些文件的名称,我将通过它们唯一的 mongo id 来解决它们。Mongo db驱动程序默认添加文件名,因为它正在将其内容添加到数据库中,我相信它也会在其上创建一个索引。有没有办法告诉它不要打扰文件的名称?

  2. 如果我添加到数据库中的只是 JPEG 类型的图像(相同的内容类型),我是否可以通过使用 Symfony 的 mongo ODM 获得任何优势,如此处所述

不确定我是否需要创建两个单独的问题,因为它们是完全不同的问题,但是对于这些问题中的任何一个问题的答案或想法将不胜感激。

4

1 回答 1

2

在此我对您的问题的想法:

  1. 我认为没有办法告诉 MongoDB 驱动程序在将文件存储到 GridFS 时忽略文件名。我只是运行了一个简短的测试,文件名将始终存储在文档中。我发现默认情况下不会为文件名创建索引。这可以通过在 mongo shell 中运行 'db.Upload.files.getIndexes()' 来检查,以查看在集合上创建了哪些索引。

  2. 我认为您存储的文件类型甚至文件大小没有限制。尽管 GridFS 是大型对象的存储规范,但它看起来对使用它没有任何限制,比如说,许多小型 JPEG 文件。将它与 Symfony 和 Mongo ODM 一起使用的一个小例子是,在请求上传文件时添加 ACL 功能非常容易。

希望这将回答您的问题。

于 2012-10-29T22:19:21.810 回答