MongoDB.serverStatus()在使用针对api.cloudfoundry.com的隧道运行时出错
以下是控制台会话MongoDB.serverStatus()在使用针对api.cloudfoundry.com的隧道运行时出错,mongodb,cloud-foundry,tunnel,Mongodb,Cloud Foundry,Tunnel,以下是控制台会话 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 por
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:“需要登录”,“确定”:0}”
当我在我的机器上运行micro CF时,它工作正常,并给我预期的输出
顺便说一句,我试图了解我的应用程序(用node.js编写)上的当前连接。正在尝试调试与数据库连接有关的一些问题。如果有任何其他选择,我可以使用,请建议,以及。这应该工作!我不确定为什么您的隧道没有连接,我的直接建议是尝试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);
此代码当前正在运行,以作为示例。但是,node.js应用程序的mongodb连接应自动配置为绑定服务。如果这对您不起作用,请务必让我知道。Hi@dan higham。谢谢你的回复。想补充一些澄清。。。1.我和隧道的联系很好。我知道,因为我可以使用db.myCollection.find(xx)等连接执行其他操作。2.我没有尝试调试服务连接。我正在尝试使用db.open函数调试代码打开到mongodb的连接数,因此希望知道打开的连接数。我通常会看到使用“db.serverStatus()”例如>db.serverStatus().connections;{“current”:3,“available”:19997}有人对这个问题有什么建议吗?我想应该是该服务器的管理员用户(存储在管理员服务器中的用户)。因此,请使用admin db,然后执行db.auth。@我尝试使用“admin”db,但它显示了以下错误。。。C:\Users\am185011>mongo--host localhost--port 10000-u uuu-p pppp admin MongoDB shell版本:2.0.6连接到:localhost:10000/admin-Thu-Sep 13 10:14:30未捕获异常:登录失败异常:登录失败请注意,当我登录到“db”数据库时,我还得到了一个“admin”用户。因此,我也对该用户尝试了上述命令,但最终结果相同。@christkv我尝试的另一种方法是在登录到“db”数据库后执行“use admin”。(不走运)>使用管理员切换到db admin>显示集合周四9月13日10:07:47未捕获异常:错误:{“$err”:“未经授权的db:admin锁类型:-1客户端:172.30.49.241”,“代码:10057}>db.serverStatus();{“errmsg”:“需要登录”,“确定”:0}>显示用户周四9月13日10:08:37未捕获的异常:错误:{“$err”:“未经授权的数据库:管理锁类型:-1客户端:172.30.49.241”,“代码”:10057}@christkv如果我没有理解您的评论,并且正在做错误的事情,请告诉我。