要直接在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
}
這將列出特定DB中的所有集合名稱。
mongo test --eval "printjson(db.getCollectionNames())"
MongoDB shell version: 3.2.10
connecting to: test
[
"aaa",
"areamodel",
"email",
"hex",
"key",
"mel",
"multi",
"ques",
"rich"
]
樣本執行參考(截圖)
s如果這有助於http://stackoverflow.com/questions/22565231/printing-mongo-query-output-to-a-file-while-in-the-mongo-shell –
也是這個https://docs.mongodb。 com/manual/tutorial/write-scripts-for-the-mongo-shell /因爲你應該使用js方法而不是普通的mongo命令。因此顯示數據庫應該用db.adminCommand('listDatabases')替換 –
謝謝,在使用db.adminCommand('listDatabases')後它不起作用。錯誤是listdatabases沒有定義。 – user7070824