node.js连接mongodb

npm提供了一个mongodb包用来连接mongodb

首先用npm安装mongodb模块

npm install mongodb

对于未添加验证的mongodb服务端,创建first.js文件

再创建数据库数据

然后写连接代码:

const MongoClient = require('mongodb').MongoClient;
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'test';
// Use connect method to connect to the server
MongoClient.connect(url, function(err, client) {
  if(err){
    console.log(err);
  }
  console.log("connect successful");
  const db = client.db(dbName);
  const col = db.collection('demo');
  col.find().toArray((err, res) => {
      console.log(res)
  });
});

 查询结果:

对于添加了用户验证的mongodb服务端,只需要修改url就可以

格式:

mongodb://user:pass@dhost:port/baseName

由于本地的数据库未添加验证,我用远程的做一个示例

创建second.js

const MongoClient = require('mongodb').MongoClient;
 
// Connection URL
const url = 'mongodb://test:[email protected]:27017/test';
 
// Database Name
const collectionName = 'demo';
 
// Use connect method to connect to the server
MongoClient.connect(url, {useNewUrlParser: true}, function(err, client) {
    if (err){
        console.log("auth failed !");
        console.log(err);
        return;
    }
      console.log("Connected correctly to server");
      client.collection(collectionName).find().toArray((err, res) => {
          console.log(res);    
      });
});

然后就出现问题了

这个问题最终在overflow上找到了解决方法。

只需要将mongodb降级即可,

修改package.json中的mongodb版本号

将^3.1.1修改成^2.2.33再执行

npm install

然后执行脚本即可

查询成功。

猜你喜欢

转载自www.cnblogs.com/qmdx00/p/9418090.html