如何更新多个字段,包括推入NodeJs mongoose中的现有数组?

时间:2018-03-26 06:26:20

标签: node.js mongodb api mongoose multer

这是我在nodeJs中使用mongoose的产品Schema。但是我正在开发REST API。

const ImageSchema = new Schema({ 
    path: {
        type: String
    },
    pos: {
        type: Number
    }
});

const ProductSchema = new Schema({  
    title: {
        type: String,
        required: [true, 'Product title is required.']
    },
    description: {
        type: String
    },
    created_date: {
        type: Date ,
        required: [true, 'Created Time required.'],
        default: Date.now
    },
    images: [
        ImageSchema
    ]
});

const Product = mongoose.model('product', ProductSchema);

module.exports = Product;
 

这是我更新产品的方式

router.put('/:id', upload.single('pImg'), function(req, res, next){  
    var x = req.body;  

    Product.findByIdAndUpdate({
        _id: req.params.id
    }, x).then(function(){
        Product.findOne({
            _id: req.params.id
        }).then(function(product){
            res.send(product);
        });
    }).catch(next); 
});

我的问题是如何进入图像数组并同时更新标题,描述等其他字段?

1 个答案:

答案 0 :(得分:1)

您可以在通话中使用$ push和$ set。

相关问题