try {
const transaction = await db.startTransaction()
var tjarray=[];
var updatearray=[];
var p1=true;
var p2=true;
var cz=[]
for(var i=0;i<data.length;i++){
let id=data[i]._id;
cz[i]=await transaction.collection('cl_kc').doc(id).get()
tjarray[i]=await transaction.collection('cl_buy').add({data:{bh:'Z0002',czy:'Z0004'}})
if (cz[i]){
updatearray[i] = await transaction.collection('cl_kc').doc(id).update({ data: { 'sl': 67 } })
}
if (tjarray[i]._id==null){
p1 = false
throw{msg:'dfsf'}
}
if (!updatearray[i].stats.updated) {
p2 = false;
throw { msg: updatearray[i].stats }
}
}
if (p1&&p2){
await transaction.commit()
console.log(`transaction succeeded`)
return {
success: true
}
}else{
await transaction.rollback(-100);
}
} catch (e) {
console.error(`transaction error`, e)
return {
success: false,
error: e
}