【问题标题】:node.js - can't get mongodb to work, may have installed wrong?node.js - 无法让 mongodb 工作,可能安装错误?
【发布时间】:2011-09-08 00:13:52
【问题描述】:

我想这是在黑暗中的一次尝试,因为我无法向您展示很多具体的代码......

但我正在使用节点并尝试使用 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 进行通信。

如果有什么我可以做的来诊断/更改我的安装,请告诉我。

【问题讨论】:

    标签: mongodb node.js express


    【解决方案1】:

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

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

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

    这是blog post I wrote。通过 Node.JS + MongoDB + Cloudfoundry 进行简单设置。简单的设置可以在本地和 Cloudfoundry 上运行,因此您应该能够忽略 Cloudfoundry 步骤,并且仍然可以正常工作。

    【讨论】:

    • 是的,它没有运行。我不知道出了什么问题。但如果我只是输入mongod 它就可以开始了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    相关资源
    最近更新 更多