首页 文章

本地Node.js脚本未连接到mongoDB数据库

提问于
浏览
0

我通过Heroku设置了一个MongoLab MongoDB数据库,并且能够通过发出以下命令在shell中连接它:

mongo ds061701.mongolab.com:61701/heroku_app35721468 -u <dbuser> -p <dbpassword>

我正在使用Node.js和Express,并在script.js文件中编写以下代码,该文件与包含mongoose的node_modules文件夹位于同一目录中 .

var mongoose = require('mongoose');
mongoose.connect('mongodb://<dbuser>:<dbpassword>@ds061701.mongolab.com:61701/heroku_app35721468');
var db = mongoose.connection;

db.on('error', console.error.bind(console, 'connection error: '));

db.once('open', function(){
    console.log('db connected');
});

导航到终端中此脚本的目录并键入 node script.js 时,收到以下错误消息:

dyld: lazy symbol binding failed: Symbol not found: _node_module_register
Referenced from: /Users/Jack/Documents/node-express-101/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/node_modules/bson/build/Release/bson.node
Expected in: dynamic lookup

dyld: Symbol not found: _node_module_register
Referenced from: /Users/Jack/Documents/node-express-101/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/node_modules/bson/build/Release/bson.node
Expected in: dynamic lookup

Trace/BPT trap: 5

我在这里做错了什么以及如何使用mongoose连接到MongoLab上托管的MongoDB数据库?

2 回答

  • 0

    参考comments from OP's original question:解决方案是原始依赖安装未成功完成 . 重新安装解决了它 .

  • 0

    当您使用Node 0.12安装模块(需要编译)时会抛出该错误,但随后尝试使用较旧的Node版本(如0.10)运行这些模块 .

相关问题