MongoDB session.withTransaction()返回值及使用方式疑问
MongoDB session.withTransaction()返回值及使用方式疑问
嘿,我来帮你理清这个疑问~
其实session.withTransaction()的返回值就是你在传入的事务回调函数里return的内容,文档里没说太明白确实容易让人懵。
你贴的代码写法是完全没问题的:如果在回调里返回{num: 1},那results就会拿到这个对象,之后直接用results.num获取值是完全可行的。
举个更清晰的完整示例:
const results = await session.withTransaction(async () => { // 这里写你的事务操作逻辑,比如集合的增删改查 return {num: 1}; }); console.log(results.num); // 会输出1
要是你想直接返回1这种基本类型也是可以的,比如:
const results = await session.withTransaction(async () => { // 执行事务内的操作 return 1; }); console.log(results); // 直接输出1
简单来说,withTransaction()就是把你在事务回调里最后return的内容原封不动返回给你,不用局限于Document类型,文档里的示例可能只是展示了最常用的场景而已。
备注:内容来源于stack exchange,提问作者IttayD
相关产品推荐
相关产品推荐

