如何使用Postman更新我的数据库?
我试图学习Express使用Postman测试不同类型的请求,但是我不知道如何更新我的数据集。这是我使用的数据集的结构。
var DB = [
{ category: 'Pets',
products: [
{ name: 'banjo',
color: 'grey',
mean: true,
description: "meows"
},
{ name: 'rigby',
color: 'black and white',
mean: false,
description: 'barks'
}]}]
Lets say I want to add another pet into the pets category so in products
{name: frank, color: orange, : mean: false: description: glubs}
我不知道如何在Postman中正确地添加它,以便它更新。我的更新代码如下:
app.post("/product/add", (req, res) => {
var category = req.body.category;
const { name, color, mean, description } = req.body;
var product = { name:name, color:color, mean:mean, description:description }; console.log(product);
var index = DB.findIndex(x => x.category == category);
if(index !== -1){
var indexProduct = DB[index].products.findIndex(x => x.name == product.name); if(indexProduct !== -1){
DB[index].products.push(product);
res.status(200).send(DB);
} else {
res.status(200).send(`Product already added to category.`);
};
} else {
res.status(200).send(`Category not found.`);
} });
提前感谢!也很抱歉的格式。
1条答案
按热度按时间zz2j4svz1#
在你的代码中有很多重复、不需要的结构化变量和语法错误。首先把你的问题分解成更容易管理的小块,然后用postman测试你的端点。
让我们从您的数据及其结构开始:
//假设您要将另一个宠物加入pets类别,因此在products中
这是您可以检查是否未找到对象的方法之一,如果未找到,则将其添加到数据库中。
您的 Postman 请求可能如下所示:
或者使用
Array.prototype.findIndex
可以执行以下操作:注意:如果你的对象名与另一个相同,你的新对象将不会被推送到DB数组。这意味着你需要用一个唯一的标识符来索引你的对象。