使用node.js安装mongodb:无法读取未定义的属性“arbiterOnly”
我尝试在新创建的Ubuntu 11.04系统64位上远程安装node.js+now.js+mongoDB 我创建了一个这样的结构:使用node.js安装mongodb:无法读取未定义的属性“arbiterOnly”,node.js,mongodb,installation,Node.js,Mongodb,Installation,我尝试在新创建的Ubuntu 11.04系统64位上远程安装node.js+now.js+mongoDB 我创建了一个这样的结构: cd mkdir /data/db chown `id -u` /data/db /home/xxx/server.js /主页/xxx/node/ /主页/xxx/节点\模块/now/ /home/xxx/http/index.html node.js和now.js没有问题,它工作得很好,但我很难安装和安装mongoDB 我访问了我的机器的根目录,并通过以下方式
cd
mkdir /data/db
chown `id -u` /data/db
/home/xxx/server.js
/主页/xxx/node/
/主页/xxx/节点\模块/now/
/home/xxx/http/index.html
node.js和now.js没有问题,它工作得很好,但我很难安装和安装mongoDB
我访问了我的机器的根目录,并通过以下方式安装了Mongodb:
cd
sudo apt-get install mongodb
我不知道是否应该,但我创建了一个data/db文件夹,如下所示:
cd
mkdir /data/db
chown `id -u` /data/db
完成后,我将节点的mongodb驱动程序安装在适当的文件夹中:
cd /home/xxx/
npm install mongodb
然后我启动了节点服务器。我的静态页面显示正常,但这是我在ssh终端上大约10秒后得到的结果:
[TypeError: Cannot read property 'arbiterOnly' of undefined]
TypeError: Cannot read property 'arbiterOnly' of undefined
at /home/xxx/node_modules/mongodb/lib/mongodb/connection/server.js:558:22
at [object Object].checkoutReader (/home/xxx/node_modules/mongodb/lib/mongodb/connection/server.js:575:16)
at /home/xxx/node_modules/mongodb/lib/mongodb/db.js:1344:79
at Db._executeQueryCommand (/home/xxx/node_modules/mongodb/lib/mongodb/db.js:1555:5)
at Cursor.nextObject (/home/xxx/node_modules/mongodb/lib/mongodb/cursor.js:455:13)
at Array.0 (/home/xxx/node_modules/mongodb/lib/mongodb/cursor.js:162:12)
at EventEmitter._tickCallback (node.js:192:40)
Tue Apr 24 2012 07:12:45 GMT+0200 (CEST) [GET] http://www.verysurf.com/proxyheader.php
error loading file httphttp://www.verysurf.com/proxyheader.php: { [Error: ENOENT, No such file or directory 'httphttp://www.verysurf.com/proxyheader.php']
errno: 33,
code: 'ENOENT',
path: 'httphttp://www.verysurf.com/proxyheader.php' }
“任意”错误消息是关于什么的?
我做错了什么?
我在谷歌上搜索了这件事,但没什么发现
错误消息末尾的www.verysurf.com url并不总是相同的。5分钟前,我得到了这个,我没有改变任何东西,只是重新启动了节点服务器:
error loading file httphttp://59.53.91.9/proxy/judge.php: { [Error: ENOENT, No such file or directory 'httphttp://59.53.91.9/proxy/judge.php']
errno: 33,
code: 'ENOENT',
path: 'httphttp://59.53.91.9/proxy/judge.php' }
我真的不知道这些url是关于什么的
需要帮忙吗
谢谢。我不知道它为什么会触发特定的错误消息,但在我看来,似乎有人或有人正在嗅探您的Web服务器,以查看它是否为开放代理。某些HTTP服务器(尤其是Apache)很容易被错误配置为将任何请求代理给第三方:
在连接完全初始化之前尝试请求数据库时,我收到了非常相同的消息[TypeError:无法读取undefined的属性'arbiterOnly'
确保db.open已成功完成奇怪,因为它是我一小时前从头创建的服务器。如果有人对错误消息的其余部分有什么想法,那就太好了,因为我仍然坚持着。