mongoose.connect在连接到mongodb后没有调用回调

时间:2017-05-30 21:28:41

标签: node.js mongodb express mongoose passport.js

我正在尝试使用Mongoose建立与MongoDB的连接。但它既不会抛出错误也不会连接到数据库。以下是我的代码。

const express = require('express');
const app = express();
const port = process.env.PORT || 8080;
const mongoose = require('mongoose');

console.log('Hi, there!!');    

mongoose.connect('mongodb://localhost:27017/db_name', (err) => {
 console.log('Callback called');
 if(err) throw err; 
 console.log('Connected to database');
})

在上面的代码中,回调中没有任何 console.log 确实发生。但mongoose.connect以外的任何地方都像 console.log('嗨,那里!!')那样工作

使用的版本

express: 4.0.0
mongoose: 3.8.40
node: 7.7.3
mongodb: 3.4.0

1 个答案:

答案 0 :(得分:1)

使用mongoose: 3.8.40我在控制台中得到了这个:

{ Error: Cannot find module '../build/Release/bson'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/kevin/nemeacreation/sites/test/stackoverflow/node_modules/bson/ext/index.js:15:10)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3) code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
Hi, there!!

升级到"mongoose": "~4.4"为我修复了它。我在这里得到了答案:https://stackoverflow.com/a/35516644/2829540

有关信息,mongoose的最新版本为4.10.4