连接 mongodb 时 connect 不是一个函数

the*_*ose 8 javascript mongodb node.js

mongodb尝试从将代码连接到数据库的网站运行该函数时发生错误。

const MongoClient = require('mongodb')

const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
  const collection = client.db("test").collection("devices");
  // perform actions on the collection object
  client.close();
});
Run Code Online (Sandbox Code Playgroud)

错误是:

client.connect(err => {
  ^

    TypeError: client.connect is not a function
Run Code Online (Sandbox Code Playgroud)

我已经mongodb安装了 vianpm和 uri 定义为他们给出的字符串。我还需要什么吗?

Joz*_*zeV 8

尝试这样连接:

const { MongoClient } = require("mongodb");

const uri = "yourUri...";
const databaseName = "yourDBName";

MongoClient.connect(uri, { useNewUrlParser: true }, (error, client) => {
  if (error) {
    return console.log("Connection failed for some reason");
  }
  console.log("Connection established - All well");
  const db = client.db(databaseName);
});
Run Code Online (Sandbox Code Playgroud)


Leo*_*dov 8

原因是您应该导入 MongoClient 类:

const MongoClient = require("mongodb").MongoClient;
Run Code Online (Sandbox Code Playgroud)

而不是代码中的以下行:const MongoClient = require("mongodb");

  • 您还可以使用解构 `const { MongoClient } = require("mongodb");` (4认同)