无法连接到mongoDB服务器。错误:[错误:连接已关闭]

时间:2016-01-25 11:25:58

标签: node.js mongodb

这是我的nodejs程序,它给出了一个错误:

var mongodb = require('mongodb');
var server = Server = require('mongodb').Server;


var MongoClient = mongodb.MongoClient;

var url = 'mongodb://localhost:27017/prisync_mamy';

MongoClient.connect(url, function (err, db) {
  if (err) {
    console.log('Unable to connect to the mongoDB server. Error:', err);
  } else {
    console.log('Connection established to', url);

    var collection = db.collection('urlAnalysis_mamy');
var cursor = collection.find({channel_name:'urlAnalysis_mamy'});



cursor.each(function (err, doc) {
  if (err) {
    console.log(err);
  } else {
    console.log('Fetched:', doc);
      }
    });
  }
});
  

错误:[错误:连接关闭]

但是当我在终端上键入mongo时它运行正常。

2 个答案:

答案 0 :(得分:0)

在我的情况下,问题是新服务器和mongdb npm模块文件的文件安全性,所以我必须使用“chown”命令拥有所有文件,然后运行“npm install”,之后MongoDB客户端正常工作。

答案 1 :(得分:0)

运行代码的例外是

TypeError: db.collection is not a function

并告诉您变量 db 中不存在集合关键字。查看mongodb npm page,您应该这样做:

var mongodb = require('mongodb');
var server = Server = require('mongodb').Server;
var MongoClient = mongodb.MongoClient;

var url = 'mongodb://localhost:27017/prisync_mamy';

// Use connect method to connect to the server
MongoClient.connect(url, function (err, client) {
    console.log("Connected successfully to server");

    const db = client.db('prisync_mamy');

    ...
});