Typeorm不想更新数据库

时间:2019-07-01 14:38:03

标签: postgresql typeorm

我有一个供应表,其中带有名称数量列。我希望以下代码更新数量,但不会更新数量。有人可以更正我的代码吗?

const repository = connection.getRepository('supply');
await repository.update({ quantity: 20 }, { name: 'supply1' });

2 个答案:

答案 0 :(得分:0)

我会尝试像这样编写查询:

connection.createQueryBuilder()
.update(Supply)
.set({ quantity: 20 })
.where('name = :name', { name: 'supply1' })
.execute();

在此查询中,Supply应该是实体,而不是字符串。这基于documentation for Update Using Query Builder

更新

要使用已编辑查询中所使用的repository.update语法,应对参数重新排序。

const repository = connection.getRepository(SupplyEntity);
await repository.update({ name: 'supply1' }, { quantity: 20 });
// executes UPDATE supply SET quantity = 20 WHERE name = "supply1"

来源:Documentation for the repository.api

此外,您可以尝试console.log(repository)以确保它存在。否则,您可以尝试像上面的代码示例中那样传递实体。

答案 1 :(得分:0)

反转定序器

await repository.update({ quantity: 20 }, { name: 'supply1' }); // tries to update where quantity is 20...
await repository.update( { name: 'supply1' }, { quantity: 20 }); // updates quantity