如何将结果输出到monogodb中的文件

时间:2016-12-06 19:18:39

标签: mongodb

我想在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

任何人都知道如何使这项工作。我感谢任何帮助。

2 个答案:

答案 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"
]

参考样本执行(截图) A sample execution for reference

答案 1 :(得分:2)

而不是测试你可以简单地去, mongo db_name query.js> out.json

这里query.js包含以下任何查询: printjson(db.adminCommand('listDatabases'))