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

如何将图像存储到MongoDB中的指定集合中,mongodb,gridfs,Mongodb,Gridfs,我知道可以使用“mongofiles”实用程序将二进制文件保存到MongoDB中 有没有办法将图像存储到指定的集合中,而不是存储在db.fs.files中 我想创建一个用户集合,用于存储用户详细信息及其个人资料图片,如下所示: { "_id" : "USR_1", "username" : "willsmith123", "firstname" : "will", "lastname" : "smith", "status" : "ACTIVE"

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

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

我想创建一个用户集合,用于存储用户详细信息及其个人资料图片,如下所示:

{
    "_id" : "USR_1",
    "username"  : "willsmith123",
    "firstname" : "will",
    "lastname"  : "smith",
    "status"    : "ACTIVE",
    "image"     : { 
             "_id"        : ObjectId("558be8062f194d2587000001")
             "chunkSize"  : 261120,
             "uploadDate" : ISODate("2015-06-25T10:20:47.105Z"),
             "length"     : 25038,
             "md5"        : "b1d38a0b2ccde6da71fd6ae8fe2f637f",
             "filename"   : "mylogo.png"
                  }
}
我怎样才能拥有这样一个集合,它可以维护用户与其图像之间的关系?

注意: 数据库是用来存储数据的

文件系统

选择很重要 使用或使用下面的东西

而不是保存嵌入的文档

         "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
获取或设置图像

  • 上传图像时,writestream创建图像 id。同时,您不能将图像id保存到另一个 收藏
  • 如果您创建自定义id,则它不安全,并且会给您带来问题 很多图片
  • 您可以将图像信息保存在文档文件中。元数据

  • 一般来说,避免争论其他答案的有效性。相反,反对那些答案中恰巧代表的观点。所以,简单地解释一下误解、错误的原因和真相。(这一点尤其重要,因为您的答案可能是唯一的答案,并且很容易改变顺序。)