【问题标题】:Local Node.js script not connecting to mongoDB database本地 Node.js 脚本未连接到 mongoDB 数据库
【发布时间】:2015-06-16 14:18:29
【问题描述】:

我通过 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 数据库?

【问题讨论】:

  • 猫鼬安装正确了吗?假设您使用了npm i mongoose --save,它是否安装没有错误?
  • 我对此非常陌生。按照 mongoosejs 网站上的说明,我导航到包含该文件的目录并使用 npm install mongoose
  • 我刚刚使用npm i mongoose --save 再次安装了它,它似乎正在工作。谢谢!为什么我应该以这种方式安装猫鼬,为什么在使用npm install mongoose 安装猫鼬时脚本不起作用?
  • 它们都是同一个命令。 npm inpm install 的缩写。如果没有看到原始安装输出,我们无法知道为什么它没有正确安装。
  • 安装依赖项时是否应该始终包含--save

标签: node.js mongodb express mongoose mlab


【解决方案1】:

参考comments from OP's original question:解决方法是原来的依赖安装没有成功完成。重装解决了。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 2020-08-26
      相关资源
      最近更新 更多