如何在节点中使用 mongoDB

How to use mongoDB with node

当我运行脚本时,错误returns。

TypeError: db.collection is not a function

 var MongoClient = require('mongodb').MongoClient;
 var url = "mongodb://abc:12345**@xxxx.mlab.com:&&&&/myDB";
 MongoClient.connect(url, function(err, db) {
   if(err) {
      console.log(err);
   } else {
      console.log("Database created!");
      db.collection('users').aggregate([{
        '$match': {
          'organization.organizationId': "e1716c62-fdce-11e7-8be5-
           0ed5f89f718b"
        }
      },{
       "$project": {
          "deviceDetails": 1,
          "userDetails": 1
       }
     }], function(error, documents) {
           if (error) {
             console(error);
           } else {
           console.log(documents);
          }
        });
  });

嗨,你能帮我看看我在做什么吗wrong.Thanks!

使用 Mongo Driver 3.0 或更高版本,连接回调 returns errclient 而不是 db。要从客户端中获取数据库,请执行此操作,

var db = client.db;

在你的情况下,它看起来像这样,

MongoClient.connect(url, function(err, client) {
   if(err) {
    console.log(err);
   } else {
      var db = client.db;
      console.log("Database created!");
      db.collection('users').aggregate(...)
   }
})

在最近更新中发布的地方使用 MongoClient.connect(url, function(err, client))。有关详细信息,请参阅 Mongo Driver Docs.

var MongoClient = require('mongodb').MongoClient;
// Dont use database name in link
var url = "mongodb://abc:12345**@xxxx.mlab.com:&&&&";
MongoClient.connect(url, function(err, client) {
    if (err) {
        console.log(err);
    } else {
        let db = client.db('myDB')
        console.log("Database created!");
        db.collection('users').aggregate([{
            '$match': {
                'organization.organizationId': "e1716c62-fdce-11e7-8be5-0e d5f89f718b "
            }
        }, {
            "$project": {
                "deviceDetails": 1,
                "userDetails": 1
            }
        }], function(error, documents) {
            if (error) {
                console(error);
            } else {
                console.log(documents);
            }
        });
    }
});

首先,您应该检查数据库连接是否仅 运行 此代码,以便确认变量 url 是否正确或 mongodb 是否已正确安装。

MongoClient.connect(url, function (err, db) {         
 if (err)

          {
              console.log("Failed connecting to the database.  " + err);
          } 
          else
          {
           console.log(Sucessfully)

           }
});