node.js – 不能让mongodb工作,可能安装错了?

我想这是在黑暗中的一个镜头,因为没有很多我可以告诉你的具体代码…

但我使用节点,并试图使用mongodb,但是我不能让mongodb连接。 我已经尝试了几个教程,几乎可以开箱即用。 在几个情况下,似乎没有任何直接引用数据库的页面将加载好。 例如,将会加载“posts / new”页面。 但'/'可能会引用显示post,只会静静地挂起(浏览器显示页面加载)。

如果例如我提交了一个新的职位浏览器挂起,并在terminal,我得到:

Express app started on port 3000 Error: Invalid ObjectId at Function.fromString (/Users/xxx/Node_projects/noobjs/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js:27:11) at ObjectId.cast (/Users/xxx/Node_projects/noobjs/node_modules/mongoose/lib/schema/objectid.js:99:16) at ObjectId.castForQuery (/Users/xxx/Node_projects/noobjs/node_modules/mongoose/lib/schema/objectid.js:133:17) at Query.cast (/Users/xxx/Node_projects/noobjs/node_modules/mongoose/lib/query.js:249:32) at Query.findOne (/Users/xxx/Node_projects/noobjs/node_modules/mongoose/lib/query.js:851:10) at Function.findOne (/Users/xxx/Node_projects/noobjs/node_modules/mongoose/lib/model.js:714:16) at /Users/xxx/Node_projects/noobjs/routes/articles.js:13:13 at paramCallback (/Users/xxx/Node_projects/noobjs/node_modules/express/lib/router/index.js:259:7) at param (/Users/xxx/Node_projects/noobjs/node_modules/express/lib/router/index.js:241:11) at pass (/Users/xxx/Node_projects/noobjs/node_modules/express/lib/router/index.js:253:5) GET /article/new 500 GET /articles/new 200 

如果它有帮助,这里是上面使用的教程应用程序的package.json:

 { "name": "noobjs" , "description": "A demo app in nodejs illustrating use of express, jade and mongoose" , "version": "2.0.0" , "private": true , "author": "Madhusudhan MS (http://twitter.com/madhums)" , "engines": { "node": ">= 0.4.10" } , "dependencies": { "express" : ">= 2.3.12" , "jade" : ">= 0.12.4" , "mongoose": ">= 1.4.0" , "stylus" : ">= 0.13.7" , "express-csrf" : ">= 0.3.3" , "gzippo" : ">= 0.0.4" , "express-messages" : ">= 0.0.2" } } 

另外,当我./mongod我得到-bash: ./mongod: No such file or directory 。 我从terminal或浏览器尝试的任何东西似乎都没有与mongodb沟通。

让我知道是否有什么我可以做诊断/更改我的安装。

步骤0:确保MongoDB正在运行ps -ef | grep mongod ps -ef | grep mongod 。 如果没有启动,请检查日志文件中的失败原因。

第1步:确保您可以从命令行连接到MongoDB。

第2步:检查你的连接方法,有几种方法可以做到这一点,但确保你有正确的servername:post/dbname

这是我写的一篇博文 。 这通过Node.JS + MongoDB + Cloudfoundry进行简单的设置。 这个简单的安装程序可以在本地和Cloudfoundry上运行,所以你应该能够忽略Cloudfoundry的步骤,并且仍然能够正常工作。