我想在Monogodb中列出所有数据库并输出到txt文件,但它不起作用。
mongo 127.0.0.1/test -eval 'var c= show databases;' >>db_list.txt
错误消息是
MongoDB shell version: 2.6.12
connecting to: 127.0.0.1/test
2016-12-06T12:12:32.456-0700 SyntaxError: Unexpected identifier
任何人都知道如何使这项工作。我感谢任何帮助。
答案 0 :(得分:2)
要直接在shell上使用eval和list数据库,以下查询应该会有所帮助。
mongo test --eval "printjson(db.adminCommand('listDatabases'))"
MongoDB shell version: 3.2.10
connecting to: test
{
"databases" : [
{
"name" : "local",
"sizeOnDisk" : 73728,
"empty" : false
},
{
"name" : "m034",
"sizeOnDisk" : 11911168,
"empty" : false
},
{
"name" : "test",
"sizeOnDisk" : 536576,
"empty" : false
}
],
"totalSize" : 12521472,
"ok" : 1
}
这将列出特定数据库中的所有集合名称。
mongo test --eval "printjson(db.getCollectionNames())"
MongoDB shell version: 3.2.10
connecting to: test
[
"aaa",
"areamodel",
"email",
"hex",
"key",
"mel",
"multi",
"ques",
"rich"
]
答案 1 :(得分:2)
而不是测试你可以简单地去, mongo db_name query.js> out.json 强>
这里query.js包含以下任何查询: printjson(db.adminCommand('listDatabases'))