如何连接到最新的 Mongoose 版本

Posted

技术标签:

【中文标题】如何连接到最新的 Mongoose 版本【英文标题】:How to connect to latest Mongoose version 【发布时间】:2020-08-30 15:12:39 【问题描述】:

我正在尝试使用以下语句将我的 NodeJS 项目连接到猫鼬:-

var mongoose = require("mongoose");
mongoose.connect('mongodb://localhost:27017/football',  useNewUrlParser: true);

但是在运行给定的 .js 文件时,我收到以下错误:-

(node:3438) DeprecationWarning:当前的服务器发现和监控引擎已被弃用,并将在未来的版本中删除。要使用新的服务器发现和监控引擎,请将选项 useUnifiedTopology: true 传递给 MongoClient 构造函数。

我尝试将 useUnifiedTopology : true 添加到参数中,但它显示有 3 个参数的错误

如何解决这个问题

【问题讨论】:

第二个参数是一个选项对象,将两个选项字段添加到一个对象中。 正如@Joe 所说,您需要在同一个对象中传递两个键,这是第二个参数,如mongoose.connect('mongodb://localhost:27017/football', useNewUrlParser: true, useUnifiedTopology: true ); 【参考方案1】:

您需要在单个对象中传递所有(选项)参数,就像documentation 所说的那样。代码如下:

mongoose.connect('mongodb://localhost:27017/football', 
   useNewUrlParser: true,
   useUnifiedTopology: true

   // Other parameters here...
);

【讨论】:

以上是关于如何连接到最新的 Mongoose 版本的主要内容,如果未能解决你的问题,请参考以下文章

无法使用mongoose连接到mongo docker镜像

如何使用已存在的Mongo连接配置Mongoose

mongoose 模型连接到 mongoDB

mongoose 模型连接到 mongoDB

将 apollo 服务器与 mongodb mongoose 连接

通过 mongoose 将项目推送到 mongo 数组中