微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MongoDB 弃用警告

如何解决MongoDB 弃用警告

因为我对 (MERN) 技术非常陌生。这个警告让我困扰了一段时间 (DeprecationWarning: Mongoose: findOneAndUpdate()findOneAndDelete() 没有将 useFindAndModify 选项设置为 false 已弃用。) 而且我也没有在这功能上使用任何东西。

router.delete('/:id',(req,res)=> {
    Category.findByIdAndRemove(req.params.id).then(category => {
        if(category){
            return res.status(200).json({success: true,message: ' The category is deleted...'})
        } else {
            return res.status(404).json({success: false,message: " Category not found..."})
        }
    }).catch(err=>{
        return res.status(404).json({success: false,error: err})
    })
})

当我在邮递员上使用删除方法时出现警告...

解决方法

如果您使用 Model.findOneAndUpdate(),默认情况下您会看到以下弃用警告之一[...] 此选项影响以下模型和查询功能。 模型.findByIdAndDelete() Model.findByIdAndRemove() Model.findByIdAndUpdate() 模型.findOneAndDelete() 模型.findOneAndRemove() 模型.findOneAndUpdate() Query.findOneAndDelete() Query.findOneAndRemove() Query.findOneAndUpdate()

大多数情况下,一些 mongoose 命令只是 MongoDB 命令的别名。

解决方法很简单,你必须将选项传递给猫鼬连接:

- The package javax.xml is accessible from more than one module: <unnamed>,java.xmlJava(8390063)
- The package javax.xml.transform.stream is accessible from more than one module: <unnamed>,java.xmlJava(8390063)
- The package javax.xml.validation is accessible from more than one module: <unnamed>,java.xmlJava(8390063)

或者设置在:

mongoose.connect(uri,{ useFindAndModify: false });

更多信息位于:https://mongoosejs.com/docs/deprecations.html (findAndModify())

,

只需添加mongoose.set('useFindAndModify',false);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。