带有mongodb的nodejs:插入/查找callback没有运行

这里是我的模型代码来插入一些logging。 在我的工作电脑上,它完美的工作,但是当我在我的家用电脑上运行相同的操作系统,collection.insert不运行它的callback,所以我得到只是超时的请求,超时。 没有错误,mongo数据库日志说“连接接受”5次,之后没有消息。 当我尝试使用find()从数据库获取对象时,也会发生同样的情况。 使用mongo shell插入logging效果很好,但是使用node.js我无法完成。

/* * POST populate locations. */ var MongoClient = require('mongodb').MongoClient, _ = require('underscore'), env = process.env.NODE_ENV || 'development', config = require('../config/config')[env] exports.connect = function(cb) { MongoClient.connect(config.db, function(err, db) { if (err) throw err; cb(db) }); } exports.populate = function(data, cb) { var self = this; self.connect(function(db) { var collection = db.collection('locations'); collection.insert(data, function(err, docs) { collection.ensureIndex({ "loc": "2dsphere" }, function() { db.close(); cb(); }); }); }); } 

使用

 exports.populate = function(data, cb) { MongoClient.connect(config.db, function(db) { var collection = db.collection('locations'); collection.insert(data, function(err, docs) { collection.ensureIndex({ "loc": "2dsphere" }, function() { db.close(); cb(); }); }); }); }