我正在开发RESTful API。
型号如何将值数组绑定到nodeJs模型?
var productsSchema = new Schema({
productName:{type: String, required: true},
productDescription: {type: String, required: true},
produtThumbnail:{type: String},
productStock: [
{
size: {type: Number, required: false},
price: {type: Number, required: false}
}],
productTags:[{
tag: {type: String, required: false}
}]
});
POST方法
router.post('/api/new-product',upload.any(),function(req, res, next){
console.log(req.body);
if(req.files){
req.files.forEach(function(file){
var filename = (new Date()).valueOf() + '-' + file.originalname;
fs.rename(file.path,'public/images/'+ filename, function(err){
if (err) throw err;
console.log('file Uploaded');
//Save to mongoose
var product = new Products({
productName: req.body.productName,
productDescription: req.body.productDescription,
size: req.body.productStock.size,
productThumbnail: filename
});
product.save(function(err, result){
if(err){}
res.json(result);
});
});
});
}
}) <br/>
问题: 我能够对象数据绑定到模型,但我不知道如何绑定数组数据模型。
例如
var product = new Products({
productName: req.body.productName,
productDescription: req.body.productDescription,
size: req.body.productStock.size,// This line doesn't work
productThumbnail: filename
});
size:req.body.productStock
不起作用
所以,我怎样才能阵列的数据绑定到模型,然后将其保存到MongoDB的?
请帮助..
在你的猫鼬中,'required:false'是默认的,因此你不需要添加这些。另外,如果这是唯一需要存储 –
'required:false'的属性,则不需要在对象中包装“标签”,这意味着即使我跳过此字段,我的服务器也不会抛出任何错误,但我希望在数据库中也保存这个字段值。 –
但是'required:false'是默认的,对吧? –