Linux控制台中的MongoDB命令使用--eval(print

时间:2015-06-10 16:52:46

标签: arrays mongodb shell command eval

我尝试在linux控制台中运行命令mongo而不进入mongo shell。 要做到这一点:

  

[root @ router-mongos~] #mongo --eval" printjson(show databases)"

但是没有跑,这是输出:

  

MongoDB shell版本:2.6.10   连接到:测试   2015-06-10T18:33:39.834 + 0200 SyntaxError:意外的标识符

虽然你有用:

  

[root @ router-mongos~] #mongo maria --eval" printjson(db.stats())"   Ø   mongo --eval" printjson(db.adminCommand(' listDatabases'))"

是的,如果你在shell中运行它,输出是相同的。

有没有人用过这个?我们可以帮帮我吗?感谢。

1 个答案:

答案 0 :(得分:1)

来自Mongo Shell documentation

  

无法在JavaScript文件中使用任何shell帮助程序(例如use,show dbs等),因为它们不是有效的JavaScript。

接下来,有一个表格显示各种shell helpers的JavaScript等价物。因此,show dbsshow databases应在Mongo shell脚本中替换为db.adminCommand('listDatabases')