Jan*_*ski 8 sql postgresql knex.js
我在使用 knex 将多行插入 postgres db 时遇到问题。我有需要插入的动态行数。我期望的结果是:
插入行四次(例如四次。我不知道确切的插入次数,因为它来自前端动态):
我怎么能做到这一点?我尝试用 forEach 循环它,但它是异步操作,所以我不能使用 .then() 因为它将被调用四次
这是我尝试过的。我不知道如何设置 field_id 和 req.body 以动态获取它。
字段 = [1,2,3,4]
预期结果:
knex 创建 4 个插入,如下所示: field_id: 1, product_id: some static id value: frontValue[1] ETC
knex('metadata').insert(
[{ field_id: fields,
product_id: product_id,
value: req.body[fields]
}]
)
Run Code Online (Sandbox Code Playgroud)
Hun*_*len 16
如果我理解正确,您想在metadata表中插入 4 条记录:
{ field_id: 1, product_id: X, value: req.body[1] },
{ field_id: 2, product_id: X, value: req.body[2] },
{ field_id: 3, product_id: X, value: req.body[3] },
{ field_id: 4, product_id: X, value: req.body[4] }
Run Code Online (Sandbox Code Playgroud)
要在同一语句中插入多个记录,它们每个都需要是您提供给 Knex 的数组中的单独元素(查看insert文档以获取其他示例):
{ field_id: 1, product_id: X, value: req.body[1] },
{ field_id: 2, product_id: X, value: req.body[2] },
{ field_id: 3, product_id: X, value: req.body[3] },
{ field_id: 4, product_id: X, value: req.body[4] }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16529 次 |
| 最近记录: |