我想这是一个盲目的尝试,因为我可以向您展示的具体代码并不多......
但我正在使用 Node 并尝试使用 mongodb,但是我无法连接 mongodb。我已经尝试了一些教程,它们应该几乎可以开箱即用。在某些情况下,似乎没有任何直接引用数据库的页面将正常加载。例如,将加载“帖子/新”页面。但是“/”可能会引用显示帖子,它只会默默地挂起(浏览器显示页面加载)。
例如,如果我提交了一篇新帖子,浏览器就会挂起,并在终端中得到:
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 M S (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
。我从终端或浏览器尝试的任何其他操作似乎根本无法与 mongodb 通信。
如果我可以做任何事情来诊断/更改我的安装,请告诉我。
最佳答案
第 0 步:确保 MongoDB 正在运行 ps -ef | grep mongod
。如果未启动,请检查日志文件以了解失败的原因。
第 1 步:确保您可以从命令行连接到 MongoDB。
第 2 步:检查您的连接方法,有多种方法可以执行此操作,但请确保您拥有正确的 servername:post/dbname
这是一个blog post I wrote 。这将完成 Node.JS + MongoDB + Cloudfoundry 的简单设置。简单的设置可以在本地和 Cloudfoundry 上运行,因此您应该能够忽略 Cloudfoundry 步骤并仍然可以正常工作。
关于mongodb - node.js - 无法让 mongodb 工作,可能安装错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7341852/