Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB.serverStatus()在使用针对api.cloudfoundry.com的隧道运行时出错_Mongodb_Cloud Foundry_Tunnel - Fatal编程技术网

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如果我没有理解您的评论,并且正在做错误的事情,请告诉我。