我正在使用express 为我的网络应用程序制作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
};
我试图通过以下方式使用 postman 传递一组类别:
{
"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));
});
最佳答案
问题就在这里
budgets.categories.push(categories);
应该是
budgets.categories = categories;
// Alternatively
// budgets.categories.push(...categories);
因为categories
已经是一个数组
。
关于node.js - 使用 Express Post 请求处理数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52117441/