所以,我再次尝试将数据从Angular js前端发布到节点js,然后将其保存到mongoDb。
型号
var skuSchema = new Schema({
merchantId: {type: String, required: false},
vendorId: {type: String, required: false},
sku:{
productId: {type: Array, required: false},
quantity: {type: Array, required:false}
}
});
POST方法
所以,我确实喜欢这样:
module.exports.createSku = function (sku, callback) {
Sku.create(sku, callback);
};
路由器
router.post('/add-to-sku', function (req, res, next) {
var sku= req.body;
Sku.createSku(sku, function (err, sku) {
if (err) {
// res.sendStatus(404);
throw err;
}
res.json(sku);
});
});
但同样,我的数量未定义,& productId参数。
我做错了什么。
请帮忙..
答案 0 :(得分:1)
您的架构应该导出为像
这样的猫鼬模型var skuSchema = new Schema({
merchantId: {type: String, required: false},
vendorId: {type: String, required: false},
sku:{
productId: [{type: String, required: false}],
quantity: [{type: Number, required:false}]
}
});
module.exports = mongoose.model('Sku', skuSchema );
然后在包含POST方法的文件中加载此文件
在帖子方法文件中
var Sku = require('../your_schema_file_path');
exports.createSku = function (skuData, callback) {
// check your `skuData` object is it like your schema
var newSku = new Sku(skuData);
newSku.sku.productId = skuData.productId; // if passed {productId:[..]} instead {sku.productId:[..]}
newSku.save(function(err, sku) {
if(err) {
callback(err, null);
} else {
callback(null, sku);
}
});
};