mongodb - node.js - 无法让 mongodb 工作,可能安装错误?

标签 mongodb node.js express

我想这是一个盲目的尝试,因为我可以向您展示的具体代码并不多......

但我正在使用 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/

相关文章:

node.js - 由于某种原因,bulkWrite 和 arrayFilter 没有修改文档。 MongoDB 和 Mongoose

regex - 如何解决关于 'filter'字段必须是BSON类型对象的问题

javascript - 如何在 Node.js 中定义分水岭?

iOS v12 Https 请求错误

node.js - 如何在 hogan-express 中包含外部模板文件

python - 在没有迭代的情况下将字典批量存储在redis中

java - MongoDB 和 Java : What's wrong with my update?

ruby-on-rails - 我可以将 Web 服务器和应用程序服务器部署到同一个 AWS EC2 实例吗?

javascript - React + D3 强制布局 : new Links have undefined positions

node.js - 如何使用 ssl 和同一域名运行 api 和网站