CNode

sequelize有批量更新的函数么?

问答
Iiori2882发布于8 年前最后回复8 年前6 回复9956 浏览0 收藏

sequelize有批量添加的函数bulkCreate(),是不是没有批量更新的函数?这里不需要保证一次性都更新成功,如果我我直接用for循环更新,是不是会存在多个transaction啊?

查看回复

回复 (6)

J
jacksparrow68#1·8 年前
引用 iori2882@mosaic101 你的意思是直接使用for循环就行?把没更新成功记录一下返回给前台?

@iori2882 1楼说的是sequelize的update方法里面有个where参数;比如这样

this.model().update({ state }, { where: { uuid }, returning: true })

更新特定uuid的记录的state字段

O
OXOYO#2·8 年前

多条同值的话直接update,用where控制范围就可以; 多条不同值的话可以用楼上说的for 或者 transaction逐条update。

M
mosaic101#3·8 年前

只要符合 update中的 where 条件就行, 满足一条就更新一条, 满足多条就是批量更新

W
WilliamWang233#4·8 年前

在transaction里面循环,并用Promise.all()就好了

I
iori2882#5·8 年前
引用 mosaic101只要符合 update中的 where 条件就行, 满足一条就更新一条, 满足多条就是批量更新

@mosaic101 你的意思是直接使用for循环就行?把没更新成功记录一下返回给前台?

L
linliny#6·8 年前

用for循环update,update有返回值,可以知道是否更新成功,然后再判断就行了,建议用async/await

参与回复
登录后即可参与回复。登录