收到弃用警告,并建议使用我在MongoDB / Mongoose中使用的内容

时间:2019-05-09 05:59:05

标签: node.js mongodb mongoose

所以我正在使用一种方法,但我警告我不要使用它,建议使用相同的方法。什么?

// Upgrade stats query
  if (args.type === "stats") {
    const user = await User.findById(args.id, (err, res) => {
      if (err) console.log(err);
    }).then(user => {
      return user;
    });
    if ((await user.meta.statpoints) > 1) {
      let query;
      User.findOneAndUpdate(
        { _id: args.id },
        {
          $inc: {
            "meta.currency.cs": 1
          }
        },
        (err, user) => {
          if (err) console.log(err);
        }
      ).then(user => {
        //console.log(user.meta.currency);
      });
    }
  }

它给了我这个警告: (node:1360) DeprecationWarning: collection.findAndModify is deprecated. Use findOneAndUpdate, findOneAndReplace or findOneAndDelete instead.

我的意思是这没什么大不了的,但是这样做确实很奇怪。

1 个答案:

答案 0 :(得分:1)

useFindAndModify默认为true,因此您可以将其全局设置为false
mongoose.set('useFindAndModify', false);

或已连接
 mongoose.connect(uri, { useFindAndModify: false });