Mongoose 如何获得第一个小鹿任务的响应,在另一个小鹿猫鼬保存链中使用它

Mongoose 如何获得第一个小鹿任务的响应,在另一个小鹿猫鼬保存链中使用它,mongoose,2phase-commit,Mongoose,2phase Commit,我需要从第一个保存函数(保存person文档后)中获取一个id字段,并在第二个保存函数中使用它,因为干系人有personId字段,一旦成功保存此人,必须提供该字段。不知道怎么做 const Fawn = require('fawn'); const router = express.Router(); const Person = require("../../models/Person"); const StakeHolder = require("../../m

我需要从第一个保存函数(保存person文档后)中获取一个id字段,并在第二个保存函数中使用它,因为干系人有personId字段,一旦成功保存此人,必须提供该字段。不知道怎么做

const Fawn = require('fawn');
const router = express.Router();
const Person = require("../../models/Person");
const StakeHolder = require("../../models/StakeHolder");

router.post("/", upload.any(), async (req, res, next) => {
  try {
    const task = Fawn.Task();

    let obj = JSON.parse(req.body.stakeholder);
    const stakeholder = new StakeHolder({
      name: obj.name,
      voen: obj.voen,
      industrySubCategory: obj.industrySubCategory,
      **personId**: *undefined*
    });

    obj = JSON.parse(req.body.person);
    const person = new Person({
      pin: obj.pin,
      userId: obj.userId,
      name: obj.name,
      surname: obj.surname,
      fatherName: obj.fatherName,
      citizenship: obj.citizenship
    });

    task
      .save(Person, person)
      .save(StakeHolder, stakeholder)
      .run({ useMongoose: true })
      .then(resp => {
        const id = resp[0]._id;
      })
      .catch(err => {
        console.log(err);
      })

    res.status(200).json(true);
  } catch (err) {
    next(err);
  }
});


module.exports = router;