因为涉及到更新两个相关联的表,所以要用到事务处理。先看代码:
const transaction = await db.startTransaction()
const res1 =await transaction.collection(‘orderEvaluate’).add({
data: {
orderID: event.orderID,
__ // _openid: openid,__ //这里使用_openid作为字段名保存openid时,数据库中不会保存这个字段,
__openid:openid, __ //但是用openid作为字段名保存openid时,数据库中就正常保存了。 仅仅是一个下划线的区别,为什么结果不一样?
publishDate: newDate(),
productID: event.productID,
grade: event.grade,
content: event.content
}
});
const res2 =await transaction.collection(‘order’).doc(event.orderID).update({
data: {
status: 2
},
})
if(res1._id !=null && res2.stats.updated>){
await transaction.commit()
return {
success: true
result_1: res1,
result_2: res2
}
}else
await transaction.rollback()
return {
success: false
result_1: res1,
result_2: res2
}
}
这里使用_openid作为字段名保存openid时,数据库中不会保存这个字段,但是用openid作为字段名保存openid时,数据库中就正常保存了。 仅仅是一个下划线的区别,为什么结果不一样?