为什么我无法在控制台中查看从数据库中获取的数据

30 浏览
0 Comments

为什么我无法在控制台中查看从数据库中获取的数据

编写了从Mongo db中获取数据并在控制台中打印的代码。但是它没有显示任何东西并停止了运行。

控制台输出 -

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

代码

const MongoClient = require('mongodb');
const url = 'mongodb://10.142.206.22:27017/';
const databasename = 'snapp_transactions';  // 数据库名
MongoClient.connect(url).then((client) => {
  const connect = client.db(databasename);
  // 连接到集合
  const collection = connect
    .collection('redemptions');
  collection.find({}).toArray().then((ans) => {
    console.log(ans);
  });
}).catch((err) => {
  // 打印错误消息
  console.log(err.Message);
});

0
0 Comments

问题出现的原因是由于使用了已经被弃用的Server Discovery And Monitoring engine,导致无法在控制台中查看从数据库获取的数据。解决方法是尝试使用mongoose,并使用以下代码进行连接设置:

mongoose.createConnection(uri, { useNewUrlParser: true });

或者使用以下代码进行连接设置:

mongoose.set('useNewUrlParser', true);

另外,可以参考以下链接中的讨论来了解更多信息:Server Discovery And Monitoring engine is deprecated

如果不想使用mongoose,还有其他选项连接到MongoDB数据库。建议查看MongoDB的文档,了解适用于您的情况的connect()方法的用法。以下是一个示例:

MongoClient.connect(url, { useNewUrlParser: true });

还有一些其他有用的信息可以在以下链接中找到:stackoverflow.com/questions/50448272/…

0