feat: add mongo safe batch update (#1575)

Co-authored-by: zhuyin.zhu <zhuyin.zhu@alibaba-inc.com>
This commit is contained in:
IAN.Z
2022-04-14 12:35:54 +08:00
committed by GitHub
parent ee103e97cd
commit 6ad379b7a7

View File

@@ -394,6 +394,21 @@ function mongo_collection:safe_update(selector, update, upsert, multi)
return werror(r)
end
function mongo_collection:safe_batch_update(updates)
local updates_tb = {}
for i = 1, #updates do
updates_tb[i] = bson_encode({
q = updates[i].query,
u = updates[i].update,
upsert = updates[i].upsert,
multi = updates[i].multi,
})
end
local r = self.database:runCommand("update", self.name, "updates", updates_tb)
return werror(r)
end
function mongo_collection:delete(selector, single)
local sock = self.connection.__sock
local pack = driver.delete(self.full_name, single, bson_encode(selector))