我尝试在 Linux 控制台中运行命令 mongo,而不进入 mongo shell。 要做到这一点:
[root@router-mongos ~]# mongo --eval " printjson(show databases)"
但没有运行,这是输出:
MongoDB shell version: 2.6.10 connecting to: test 2015-06-10T18:33:39.834+0200 SyntaxError: Unexpected identifier
尽管如果您使用:
[root@router-mongos ~]# mongo maria --eval " printjson (db.stats())" o mongo --eval " printjson(db.adminCommand('listDatabases'))"
是的,如果在 shell 中运行它,输出是相同的。
有人用过这个吗?我们可以帮助我吗?谢谢。
最佳答案
You cannot use any shell helper (e.g.
use <dbname>
,show dbs
, etc.) inside the JavaScript file because they are not valid JavaScript.
接下来,有一个表格显示了各种 shell helpers 的 JavaScript 等效项。 。由此,show dbs
和show databases
应替换为 db.adminCommand('listDatabases')
在您的 Mongo shell 脚本中。
关于arrays - Linux 控制台中的 MongoDB 命令带有 --eval (print,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30762607/