如何将图像存储到MongoDB中的指定集合中

时间:2015-06-25 12:18:59

标签: mongodb gridfs

我知道可以使用“mongofiles”实用程序将二进制文件保存到MongoDB中。

有没有办法将图像存储到指定的集合中,而不是存储在db.fs.files中?

我想创建一个用户集合,用于存储用户详细信息以及他们的个人资料照片:

{{1}}

我如何拥有这样的集合,以维护用户与其图像之间的关系?

2 个答案:

答案 0 :(得分:2)

注意:

数据库用于数据

FileSystem for files

选择事项

使用GridFs或使用以下内容

而不是保存嵌入的文档

         "image"     : { 
              "chunkSize"  : 261120,
              "uploadDate" : ISODate("2015-06-25T10:20:47.105Z"),
              "length"     : 25038,
              "md5"        : "b1d38a0b2ccde6da71fd6ae8fe2f637f",
              "filename"   : "mylogo.png"
          }

只需保存图像的参考,如下所示

{
   "_id" : "USR_1",
   "username"  : "willsmith123",
   "firstname" : "will",
   "lastname"  : "smith",
   "status"    : "ACTIVE",
   "imageRef"     : "unique id (objectID)"
}

使用imageRef获取或设置图像。

答案 1 :(得分:0)

  1. 上传图片时,writestream创建图片     ID。同时,您无法将图像ID保存到另一个     采集。
  2. 如果您创建自定义ID,则不安全且无问题         许多图片。
  3. 您可以在文档 files.metadata
  4. 中保存图片信息