2

M 使用 Cloud 9 IDE。我正在按照本指南学习:http ://cwbuecheler.com/web/tutorials/2013/node-express-mongo/

我有一个名为 data 的文件夹,里面有我的 mongodb 数据库。

在我的 app.js 中,我有以下代码:

var mongo = require('mongodb');
var monk = require('monk');
var db = monk('process.env.IP:process.env.port/nodetest1');

我想知道这是否正确,因为按照指南我创建了一个数据库,向其中添加了 3 个元素,创建了一个 Jade 文件,将其添加到我的路线中。

但是,我在服务器中收到 500 代码错误,当我导航到 /userlist 页面时也是如此:

/home/ubuntu/workspace/near-me/views/userlist.jade:7 5| User List 6| ul > 7| each user, i in userlist 8| li 9| a(href="mailto:#{user.email}")= user.username Cannot read property 'length' of undefined

TypeError: /home/ubuntu/workspace/near-me/views/userlist.jade:7
5| User List
6| ul
> 7| each user, i in userlist
8| li
9| a(href="mailto:#{user.email}")= user.username

Cannot read property 'length' of undefined
at eval (eval at <anonymous> (/home/ubuntu/workspace/near-me/node_modules/jade/lib/index.js:218:8), <anonymous>:50:31)
at eval (eval at <anonymous> (/home/ubuntu/workspace/near-me/node_modules/jade/lib/index.js:218:8), <anonymous>:93:4)
at eval (eval at <anonymous> (/home/ubuntu/workspace/near-me/node_modules/jade/lib/index.js:218:8), <anonymous>:106:22)
at res (/home/ubuntu/workspace/near-me/node_modules/jade/lib/index.js:219:38)
at Object.exports.renderFile (/home/ubuntu/workspace/near-me/node_modules/jade/lib/index.js:380:38)
at Object.exports.renderFile (/home/ubuntu/workspace/near-me/node_modules/jade/lib/index.js:370:21)
at View.exports.__express [as engine] (/home/ubuntu/workspace/near-me/node_modules/jade/lib/index.js:417:11)
at View.render (/home/ubuntu/workspace/near-me/node_modules/express/lib/view.js:126:8)
at tryRender (/home/ubuntu/workspace/near-me/node_modules/express/lib/application.js:639:10)
at EventEmitter.render (/home/ubuntu/workspace/near-me/node_modules/express/lib/application.js:591:3)

有人知道我做错了什么吗?指南的作者让我检查 github 中的玉文件,我做了,看起来还可以。

我在想它是我的服务器配置,但我太愚蠢/太新了,无法弄清楚。我尝试更改为 var db = monk('process.env.IP:28017/nodetest1');,但仍然遇到同样的问题。

编辑

设法修复它。首先,在 mongo 控制台中运行以下命令:

db.serverCmdLineOpts()

这将显示 IP 和端口。在 C9 中,您必须在 app.js 或等效项中使用 0.0.0.0:27017。

4

1 回答 1

1

对于未来的搜索,

var db = monk('localhost:27017/dbname');

是连接到数据库所必需的。

于 2015-07-31T17:26:09.660 回答