mongoose.connect 在连接到 mongodb 后不调用回调
Posted
技术标签:
【中文标题】mongoose.connect 在连接到 mongodb 后不调用回调【英文标题】:mongoose.connect not invoking callback after connection to mongodb 【发布时间】:2017-10-31 12:25:25 【问题描述】:我正在尝试使用 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('Hi, there!!')
使用的版本
express: 4.0.0
mongoose: 3.8.40
node: 7.7.3
mongodb: 3.4.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/***/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://***.com/a/35516644/2829540
有关信息,mongoose
的最新版本是4.10.4
【讨论】:
这对我来说也适用于其他一些更新。谢谢 也解决了我的问题!以上是关于mongoose.connect 在连接到 mongodb 后不调用回调的主要内容,如果未能解决你的问题,请参考以下文章