我正在使用express为我的Web应用制作API。以下是我的年度预算集合的架构。
var {mongoose} = require('../db/mongoose');
var budgets = new mongoose.Schema({
year: Number,
categories: [{
name: String,
amount: Number
}]
});
var Budgets = mongoose.model('Budgets', budgets);
module.exports = {
Budgets
};
我正尝试通过邮递员通过以下方式传递一系列类别:
{
"year":2018,
"categories": [{
"name":"Logistics",
"amount":1500
}, {
"name":"Finance",
"amount":23030
}]
}
这是我的此收藏集的发帖请求。该请求超时,未保存在数据库中。我似乎无法弄清楚该请求出了什么问题。请帮助
app.post('/annualBudgets', (req, res) => {
var categories = req.body.categories;
var budgets = new Budgets({
year : req.body.year,
});
budgets.categories.push(categories);
budgets.save().then((docs) => {
res.send(docs);
console.log(docs)
}).catch((e) => res.status(404));
});
答案 0 :(得分:1)
问题在这里
budgets.categories.push(categories);
应该是
budgets.categories = categories;
// Alternatively
// budgets.categories.push(...categories);
因为categories
已经是array
。