【发布时间】:2020-03-21 17:48:20
【问题描述】:
我已经使用 express.js 实现了一个 REST API。我用它来连接我的数据库。数据库必须有表。一个是表格 Person,另一个叫做 Pet。
app.post('/persons', (req, res, next) => {
let firstname = req.body.firstname;
let lastname = req.body.lastname;
let petname = req.body.petname;
if (!firstname) {
return res.status(400).send({ error: true, message: 'Please provide first name' });
}else if (!lastname) {
return res.status(400).send({ error: true, message: 'Please provide last name' });
}else if (!petname) {
return res.status(400).send({ error: true, message: 'Please provide pet name' });
}
当我调用这个 post 方法时,我想检查某个 petname 是否已经存在于数据库中。如果是这样,则获取 petID 并将其与名字和姓氏一起插入到 Person 表中,以便将人与宠物链接起来。如果此宠物名不存在,则在表 Pet 中创建一个具有此名称和新 id 的新宠物。然后再次将 id 和名字和姓氏保存到表 Person 中。所以每个宠物名应该只存在一次。
我知道如何将 Person 写入数据库:
Conn.query("INSERT INTO Person SET ? ", { FirstName: firstname, LastName: lastname, PetID: petid }, function (error, results, fields) {
if (error) throw error;
return res.send({ error: false, data: results, message: 'New person has been created successfully.' });
});
但是现在我仍然需要 petID,如果有的话,如果没有的话,在数据库中创建一个新的宠物并返回 id。 我该怎么做?
【问题讨论】: