正在连接MongoDB本机驱动程序

我编写了以下代码,通过本机驱动程序连接mongodb,本机驱动程序已经安装了npm install mongodb --save

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)弃用警告:当前服务器发现和监视引擎已弃用,将在future 版本中删除.要使用新的服务器发现和监控引擎,请将选项{useUnifiedTopology:true}传递给MongoClient.connect. 已接入mongodb:mongodb://127.0.0.1:27017 数据库:"权力的游戏"

数据库已连接,但如何才能摆脱警告

推荐答案

判断您的Mongo版本

 mongo --version

If you are using version >= 3.1.0 change you mongo connection file to ->

 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

Database相关问答推荐

如何从大型Oracle数据库中删除列?

在Prisma中建立关系

如何在mongodb数据库中设置导入的CSV文件的字段之间的关系

是否可以同时从 RocksDB 读取?

有使用 H2 数据库的实际经验吗?

这到底是做什么的 Class.forName("com.mysql.jdbc.Driver").newInstance();

存储所有排列的模式数据库

将 Redis 数据同步到 MySQL 的最佳策略是什么?

mysql,dump,数据库restore恢复

B+ 树相对于 BST 的优势?

如何删除 SQLite 中具有多个 where 参数的行?

数据库中一致且全面的地址存储的最佳实践

用于 Java 桌面应用程序的最佳数据库是什么

归档实时 MySQL 数据库的最佳方式

在内存中创建 SQLite 数据库

mysql 无法从存储引擎读取自增值

使用 C3P0 的 JDBC 连接池

SQL 查询 - 如何按 null 或不为 null 进行过滤

MySQL 整数 0 与 NULL

数据库 - (行或记录、列或字段)?