zoukankan      html  css  js  c++  java
  • Mongoose 报错代码 (node:10256)(node:13604)(node:13604) DeprecationWarning: Mongoose: findOneAndUpdate() { useUnifiedTopology: true } { useNewUrlParser: true } to MongoClient.connect.

    起因

    在MongoDB Node.js驱动程序中有几个弃用,Mongoose提供了解决这些弃用警告的选项

    原因是因为:findOneAndUpdate()内部会使用findAndModify驱动,驱动即将被废弃,所以弹出警告!附上官方解释:Mongoose v5.5.8: Deprecation Warnings

    被替换的还有下面几个:

    • 将update()替换为updateOne(),updateMany(),replaceOne()
    • 将remove()替换为deleteOne()或deleteMany()
    • 将count()替换为countDocuments(), 除非您想要计算整个集合中有多少文档(没有过滤器)。在后一种情况下,使用estimatedDocumentCount()

    报错代码

    可能报错1:

    (node:10256) DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
    

    可能报错2:

    (node:13604) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
    

    可能报错3:

    (node:5556) DeprecationWarning: Mongoose: `findOneAndUpdate()` and `findOneAndDelete()` without the `useFindAndModify` option set to false are deprecated. See: https://mongoosejs.com/docs/deprecations.html#findandmodify
    

    此选项会影响以下模型和查询功能。没有任何故意向后突破的更改,因此您应该能够在不更改任何代码的情况下启用此选项。

    Model.findByIdAndDelete()
    Model.findByIdAndRemove()
    Model.findByIdAndUpdate()
    Model.findOneAndDelete()
    Model.findOneAndRemove()
    Model.findOneAndUpdate()
    Query.findOneAndDelete()
    Query.findOneAndRemove()
    Query.findOneAndUpdate()
    

    修复解决方案:

    const mongoose = require('mongoose')
    mongoose.connect(mongooseConnectStr, { useUnifiedTopology: true, useNewUrlParser: true, useFindAndModify: false }, () => console.log('MongoDB 连接成功!'))
    

    { useUnifiedTopology: true, useNewUrlParser: true, useFindAndModify: false } 分别对应报错顺序修复即可

  • 相关阅读:
    vue-cli-service: command not found
    parted 大容量硬盘分区 格式化
    RAC集群安装错误集合
    印象笔记 Windows 客户端“未响应”怎么办?
    split,splice,slice 三者的用法
    JQuery 2.0.3 源码结构
    数据库字段备注信息声明语法 CDL (Comment Declaration Language)
    mysql底层原理解析(一)之日志
    ES底层原理解析
    aspnetCore 3.1网站部署到IIS
  • 原文地址:https://www.cnblogs.com/jing-tian/p/12630614.html
Copyright © 2011-2022 走看看