node.js - 使用 Node 服务器连接到 MongoDB 时的警告

标签 node.js database mongodb mongoose

连接MongoDB原生驱动

我编写了以下代码以通过使用 npm install mongodb --save 安装的 native 驱动程序连接 mongodb

const MongoClient = require("mongodb").MongoClient;
const url = "mongodb://127.0.0.1:27017";

const dbName = "game-of-thrones";
let db;

MongoClient.connect(
url,
 { useNewUrlParser: true },
  (err, client) => {
    if (err) return console.log(err);

  db = client.db(dbName);
   console.log(`Connected MongoDB: ${url}`);
   console.log(`Database: ${dbName}`);
  }
);

当我在终端 node server.js 上写时,出现以下错误

(node:3500) 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 MongoClient.connect. Connected MongoDB: mongodb://127.0.0.1:27017 Database: game-of-thrones

数据库连接上了,但是警告怎么去掉

最佳答案

检查你的mongo版本

 mongo --version

如果您使用的版本 >= 3.1.0,请将您的 mongo 连接文件更改为 ->

 MongoClient.connect("mongodb://localhost:27017/YourDB", {
   useNewUrlParser: true,
   useUnifiedTopology: true
 })

关于 3.2.1 添加的 useUnifiedTopology 选项的详细信息,请参见 https://github.com/mongodb/node-mongodb-native/releases/tag/v3.2.1

关于node.js - 使用 Node 服务器连接到 MongoDB 时的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57546635/

相关文章:

mysql - 书架js : How to query specific fields within join statements?

javascript - 除了 V8 之外,是否有任何带有 JavaScript 引擎的 node.js 平台的端口或替代实现?

sql - 2nf 第二范式困难练习

python - 在python中动态将dict转换为类

javascript - session token 过期时如何将用户重定向到登录页面?

php - 如何在zend框架中编写更新查询

java - 将坏词保留到数据库实体中的最佳方法是什么?

MongoDB 聚合 - 如何检查文档数组中是否存在特定字段值

java - mongoDB 和 Spark : "com.mongodb.MongoSocketReadException: Prematurely reached end of stream"

javascript - 我如何使用 Express-Validator 验证出生日期?