我正在尝试使用邮递员发布数据,但是当我尝试使用多个文档时,它在mongodb中显示为空白。但是,当我尝试插入单个文档时,它将保存数据。请纠正我,我是新来的
server.js
app.post('/bloodinventory', function(req, res) {
var bloodinventory= new Bloodinventories();
bloodinventory.blood_group = req.body.blood_group;
bloodinventory.blood_category = req.body.blood_category;
bloodinventory.num_stock = req.body.num_stock;
bloodinventory.save(function(err) {
if (err) {
res.json({ success: false, message: 'Blood Donation already exists!' });
} else {
res.json({ success: true, message: 'Blood Donation Created!' });
}
});
});
然后在邮递员中,我尝试插入以下数据:
{
"bloodinventories":[
{
"blood_group":"A_positive",
"blood_category":"whole blood",
"num_stock":11
},
{
"blood_group":"A_negative",
"blood_category":"platelet",
"num_stock":9
}
]
}
然后我的mongodb中什么也没显示,结果:
_id:5c45c6a495788ec2c47f8c8b
__v:0
答案 0 :(得分:0)
在POST请求中提供单个文档时
示例:-
{
"blood_group":"A_positive",
"blood_category":"whole blood",
"num_stock":11
}
它很容易获得 request.body.blood_group , request.body.blood_category 并显示在
上但是当您在POST请求中以数组形式传递Mutliple文档
{
"bloodinventories":[
{
"blood_group":"A_positive",
"blood_category":"whole blood",
"num_stock":11
},
{
"blood_group":"A_negative",
"blood_category":"platelet",
"num_stock":9
}
]
}
现在,您的请求正在获取一个数组,因此您的请求正文包含血液清单。您可以通过 request.body.bloodinventories 进行访问 将此const应用于其上的循环并插入所有文档。
或者简单地使API像这样,并始终在插入的每个请求中发送数组。
Bloodinventories.insertMany(request.body.bloodinventories).then((result) => {
//Success Message
}).catch(err => {
// Error Message
});
它可能对您有帮助...