相关疑难解决方法(0)

如何将图像文件放在json对象中?

我正在制作一个视频游戏数据库,每个数据库都包含游戏的名称,类型和图像等元素.是否可以将图像放入数据库的json对象?如果没有办法解决这个问题?

javascript arrays json mongodb

48
推荐指数
3
解决办法
15万
查看次数

使用MongoDB在NodeJS中使用GridFS存储一些小的(1MB以下)文件

我运行一个运行在nodeJS + mongoDB后端的网站.现在,我正在实现一个系统来存储需要在数据库中的一些图标(小图像文件).

根据我的理解,不使用GridFS更有意义,因为它似乎是针对大文件或大量文件而定制的.由于我需要保存的每个文件都在BSON最大文件大小之下,我应该能够将它们直接保存到常规文档中.

我有两个问题:

1)我的推理是否正确?将图像文件保存在常规mongo集合中是否可以,而不是使用GridFS?在这里我有什么不考虑的吗?

2)如果我的思维过程合理,我该怎么做呢?我可以做以下事情:

//assume 'things' is a mongoDB collection created properly using node-mongodb-driver

fs.readFile(pathToIconImage, function(err,image){
  things.insert({'image':image}, function(err,doc){
    if(err) console.log('you have an error! ' + err);
  });
});
Run Code Online (Sandbox Code Playgroud)

我猜这可能有更好的方法,因为mongoDB使用BSON,在这里我试图在将数据发送到数据库之前用JSON保存文件.我也不知道这段代码是否有效(没试过).

更新 - 新问题

如果我在集合中有一个文件,其中保存了三条信息:1)名称,2)日期,3)图像文件(上面的图标),我想按顺序将此文档发送给客户显示所有三个,这可能吗?如果没有,我想我需要使用GridFS并保存fileID来代替图像本身.思考/建议吗?

最好的,谢谢你的任何回应,
萨米

mongodb node.js gridfs

22
推荐指数
2
解决办法
2万
查看次数

标签 统计

mongodb ×2

arrays ×1

gridfs ×1

javascript ×1

json ×1

node.js ×1