node.js - 如何将 mongoDB 与 Node 一起使用

标签 node.js mongodb aggregation mlab

当我运行脚本时,错误返回。

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);
          }
        });
  });

嗨,你能帮我看看我哪里做错了吗。谢谢!

最佳答案

对于 Mongo 驱动程序 3.0 或更高版本,连接回调返回 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(...)
   }
})

关于node.js - 如何将 mongoDB 与 Node 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48355300/

相关文章:

java - Mongo Java 查询、DBRef 和一对多关系

python - MongoDB 查找每个用户的最后一次提交

不进行统计的 Pandas 重采样

ElasticSearch aggs 仅返回 10 个桶

javascript - 从文件中定义变量

node.js - child_process.exec 产生 "♀"字符

javascript - 使用 Multer 将图像保存在 MongoDB 后端作为来自 Angular 的文件,它无法正常工作

elasticsearch - 如何按根文档中的字段对嵌套聚合中的热门命中进行排序?

javascript - NodeJS 和谐在导入时给出 SyntaxError

node.js - 创建 react 应用程序错误找不到模块 './node'