首页 > 解决方案 > 使用node js在mongodb中同时存储多个图像

问题描述

我有一个如下图所示的表格。 在此处输入图像描述

在此“添加行”按钮中,用户将允许用户再添加一行相同的字段。

我想使用节点 js 将信息存储在 MongoDB 地图集中。

    var mongoose = require('mongoose');
  
var imageSchema = new mongoose.Schema({
    name: String,
    desc: String,
    img:
    {
        data: Buffer,
        contentType: String
    }
});
  
//Image is a model which has a schema imageSchema
  
module.exports = new mongoose.model('Image', imageSchema);

我从极客那里找到了这个 Schema 代码,供极客存储图像。但是当点击“添加行”按钮时,我没有得到任何可以帮助我添加多个图像的资源。并将图像上传到 MongoDB,我在下面找到了代码。我还希望根据 UI 中的值拥有此代码。我的意思是如果有 2 行,那么我希望我的对象有 2 行的数据,特别是 2 个图像。

app.post('/', upload.single('image'), (req, res, next) => {
  
    var obj = {
        name: req.body.name,
        desc: req.body.desc,
        img: {
            data: fs.readFileSync(path.join(__dirname + '/uploads/' + req.file.filename)),
            contentType: 'image/png'
        }
    }
    imgModel.create(obj, (err, item) => {
        if (err) {
            console.log(err);
        }
        else {
            // item.save();
            res.redirect('/');
        }
    });
});

如果有人可以根据我的要求重写以上 2 个脚本,那就更好了。我想要的只是根据行设计模式,在第二个脚本中我想要根据 UI 中的行来设置 obj。

谢谢。

标签: node.jsmongodbdatabase-designschemadatabase-schema

解决方案


推荐阅读