类型错误:检测到承诺的链接循环

Mig*_*boa 5 mongoose mongodb node.js es6-promise

user是一个 Mongoose 实体对象。then()我想在用户上附加一些数据,保存它,然后在该实体成功保存到数据库后继续下一步。所以我正在做:

User
  .findOne({ email: req.body.email })
  .then((user) => {
    user.data = ...;
    user = user.save().then(() => user);
    return user;
  })
  .then((user => ... /* continue after user has been saved */ ))
Run Code Online (Sandbox Code Playgroud)

然而,我得到了一个TypeError: Chaining cycle detected for promise,但我没有意识到如何解决我的要求。