【发布时间】:2018-08-10 11:49:12
【问题描述】:
我有两张表recipemaster 和 Ingredientmaster。
配方表
recipe_code |recipe_title |
------------|-------------|
1 | one |
2 | two |
3 | three |
4 | four |
成分主表
ingredient_code |recipe_code |ingredient_detail |
----------------|------------|------------------|
| | |
在前端反应中,我使用选择框根据从 recipemaster 表中选择的 recipe_title 输入成分详细信息,我的任务是从 recipemaster 表中选择 recipe_title 并且应该根据 recipe_title 选择特定的 recipe_code 并填充该特定的 recipe_code在配料表中。当然,component_detail 也是一起输入的。 Ingredient_code 是自动递增的,因此无需担心。
我尝试了什么:-
app.post('/api/new-ingre',function(request,response){
console.log('Ingredients connected to db')
var recipe_code;
var recipe_title = request.body.recipe_title;
var recipe_text = request.body.recipe_text;
let values = [recipe_title,recipe_text];
pool.connect((err,db,done)=>{
if(err){
return response.status(400).send(err);
}
else{
console.log(request.body.recipe_title)
console.log(request.body.recipe_text)
db.query('INSERT INTO public.ingredientmaster(recipe_code,ingredient_detail=?) select recipe_code from recipemaster where recipe_title = ?',[recipe_text,recipe_title],(err,table)=>{
done();
if(err){
return response.status(400).send(err);
}
else{
console.log('INGREDIENT DATA INSERTED');
response.status(201).send({message:'Ingredient data inserted'});
}
})
}
})
});
查询在数据库中执行时有效。但是当这种类型的复杂查询出现时,我不知道如何在 nodejs 中使用此查询。 帮助表示赞赏。谢谢。
【问题讨论】:
-
你使用的是什么数据库和库?
-
Postgres 和 npm 库,获取请求
-
然后尝试使用
$1和$2作为占位符 -
我也这样做了,但没有成功
-
为什么不使用 ORM?并且路由器不应满足任何业务逻辑或数据库事务。
标签: node.js postgresql