连接错误(错误) - 在expressjs框架中使用nodejs的Mongodb连接
现在在nodejs中进行培训,以及如何使用nodejs和expressjs作为框架开发MVC应用程序。我有TDD方法以及与TDD测试脚本一起编写的Model和View类。我有一个MongoDB的测试脚本,也未能与以下错误信息:用茉莉花节点作为测试包连接错误(错误) - 在expressjs框架中使用nodejs的Mongodb连接
expressjs_multech_project mul$ jasmine-node ./tests
.......F
Failures:
1) MongoDB is there a server running?
Message:
Expected { } to be null.
Stacktrace:
Error: Expected { } to be null.
at /Users/.../expressjs_multech_project/tests/mongodb.spec.js:6:19
at /Users/.../expressjs_multech_project/node_modules/mongodb/lib/mongodb/mongo_client.js:334:20
at /Users/.../expressjs_multech_project/node_modules/mongodb/lib/mongodb/db.js:258:16
at null.<anonymous> (/Users/.../expressjs_multech_project/node_modules/mongodb/lib/mongodb/connection/server.js:621:7)
at emitThree (events.js:110:13)
at emit (events.js:188:7)
at null.<anonymous> (/Users/.../expressjs_multech_project/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:139:15)
at emitTwo (events.js:100:13)
Finished in 0.182 seconds
8 tests, 18 assertions, 1 failure, 0 skipped
Im和其他所有测试都通过了与刚刚写入的模型和视图类。我不明白为什么我的MongoDB的TDD脚本失败有关MongoDB,当我npm start
,它不会开始返回的app.js错误消息:
> node app.js
Sorry, the server (mongodb) is not running
我研究后面的堆栈跟踪,并从我所看到的,与mongodb没有联系,并且返回null。我检查MongoDB中,以确保它的存在:
Johns-MacBook-Pro:expressjs_multech_project mul$ npm list mongodb
[email protected] /Users/.../expressjs_multech_project
└── [email protected]
我已经试过配发的补救措施,但没有最新的工作。关于解决与服务器连接问题的任何想法,所以我可以继续这个expressjs MVC培训项目?
我的配置/ index.js看起来是这样的:
var config = {
local: {
mode: 'local',
port: 3000,
mongo: {
host: '127.0.0.1',
port: 27017
}
},
staging: {
mode: 'staging',
port: 4000,
mongo: {
host: '127.0.0.1',
port: 27017
}
},
production: {
mode: 'production',
port: 5000,
mongo: {
host: '127.0.0.1',
port: 27017
}
}
}
module.exports = function(mode) {
//export module configuration making it available to all files in folder
return config[mode || process.argv[2] || 'local'] || config.local;
这是我当我充实了package.json
文件。OUPUTS和npm install mongodb --save
后npm install
muls-MacBook-Pro:expressjs_multech_project jmulhall$ npm install mongodb --save
> [email protected] install /Users/jmulhall/Documents/Web_Development/Express-Nodejs/expressjs_multech_project/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)
CXX(target) Release/obj.target/kerberos/lib/kerberos.o
> [email protected] install /Users/jmulhall/Documents/Web_Development/Express-Nodejs/expressjs_multech_project/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)
CXX(target) Release/obj.target/bson/ext/bson.o
[email protected] /Users/jmulhall/Documents/Web_Development/Express-Nodejs/expressjs_multech_project
├─┬ [email protected]
│ └─┬ [email protected]
│ └─┬ [email protected]
│ └─┬ [email protected]
│ └─┬ [email protected]
│ └── [email protected]
└─┬ [email protected]
├─┬ [email protected]
│ └── [email protected]
├── [email protected]
└─┬ [email protected]
└── [email protected]
由于运行安装蒙戈...
这看起来不像安装时的错误,因为组件返回exit 0
这很好。
需要明确的是,虽然您正在安装的软件包是唯一的官方MongoDB的驱动https://www.npmjs.com/package/mongodb - The official MongoDB driver for Node.js. Provides a high-level API on top of mongodb-core that is meant for end users.
您需要安装MongoDB服务器有一个完整的安装https://docs.mongodb.org/manual/installation/
伟大的东西数量9 ...我已经修复了..但是在学习了关于mongodb及其安装的加载之后,我没有修复它。我是一个酿造迷,但这次酿造的额外产品似乎会导致更糟糕的安装。 –
我发现了一篇非常清晰的安装博客文章,并遵循它,现在正在我的本地计算机上工作(Mac OSX 10.11.4)。我还在我的MVC应用程序上运行了TDD测试,并且通过了所有测试,包括昨天我检查了大约一千次的mongodb测试脚本!用于手动安装的博客/教程的链接是http://www.mkyong.com/mongodb/how-to-install-mongodb-on-mac-os-x/ ...我会说我发现nano比较容易然后vim,所以我用nano来更新我的bash_profile。手动安装的魅力。谢谢先生你的帮助和投入......你是男人之间的王! –
嗨约翰这不是从信息清楚,如果你已验证您的mongo服务器已启动。你是在本地还是从服务提供商运行mongodb? –
嗨9,它的本地运行在127.0.0.1:27017 –
9,我运行了npm start并且启动失败,这是我验证mongdb服务器验证的基础。 –