设置数据时Javascript mongoose回调函数

时间:2018-01-25 21:29:37

标签: javascript node.js mongodb

您好我的问题是当我发布基本64张图片时,我想要返回一个在我的架构集返回值内的照片网址

它始终返回null并且未设置为photoUrl列

这是我的架构

const ProductSchema = new Schema({
    _id: {
        type: Schema.Types.ObjectId,
        default: require('mongodb').ObjectID
    },
    country: {
        type: String,
        required: [true, "country can't be null"]
    },
    photoUrl: {
        type: String,
        set: setImage
    }
})

这是我的二传手功能

function setImage(base64) {
    return uploadImage(base64,'/storage/products/');
}

这是我在另一页上的uploadImage函数

const fs = require('fs');
const keys = require('../config/keys');
const mkdirp = require('mkdirp');
const uuidv4 = require('uuid/v4');

module.exports = {
    get: function() {
        let a = "Hello Node World!!!";
        return a;
    },
    uploadImage: function(base64,storageURI,callback) {
        const storagePathURI = '.' + storageURI;
        mkdirp(storagePathURI, function (err) {
            if (!err) {
                var base64Data = base64.replace(/^data:image\/png;base64,/, "");  
                fs.writeFile(storagePathURI + uuidv4() + '.png', base64Data, 'base64')
                return keys.baseStorageURI + storageURI +  uuidv4() + '.png'; 
            }
        });
    }
}

当我插入或更新对象时,如何将此URL映射到我的photoUrl列?

0 个答案:

没有答案