以下是控制台会话......
C:\Users\xxx>vmc tunnel myMongoDB
Getting tunnel connection info: OK
Service connection info:
username : uuuu
password : pppp
name : db
url : mongodb://uuuu:pppp@172.30.xx.xx:25200/db
Starting tunnel to myMongoDB on port 10000.
1: none
2: mongo
3: mongodump
4: mongorestore
Which client would you like to start?: 2
Launching 'mongo --host localhost --port 10000 -u uuuu -p pppp db'
MongoDB shell version: 2.0.6
connecting to: localhost:10000/db
> db.serverStatus()
{ "errmsg" : "need to login", "ok" : 0 }
>
我应该使用哪些凭据登录(假设应该使用db.auth)来消除错误“ {”errmsg“:”需要登录“,”ok“:0} ”
当我在我的机器上运行微型CF时,它可以正常工作并给我预期的输出。
P.S。我正在尝试这个来了解我的应用程序上的当前连接,用node.js编写。尝试调试与DB连接的一些问题。如果还有其他我可以使用的替代方案,请同时提出建议。
答案 0 :(得分:1)
这个应该工作!不知道为什么你的隧道没有连接,我的直接建议是尝试另一个MongoDB实例,看看是否发生了同样的错误。
如果您尝试检查node.js应用程序上的绑定服务,您应该能够在VCAP_SERVICES环境变量中检查它们。例如;
var http = require('http');
var util = require('util');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write(util.inspect(process.env.VCAP_SERVICES));
res.write("\n\n************\n\n");
res.end(util.inspect(req.headers));
}).listen(3000);
此代码目前正在http://node-headers.cloudfoundry.com/运行以作为示例。但是,node.js应用程序的mongodb连接应自动配置为绑定服务。如果这对您不起作用,请告诉我。