840

MongoDB シェルで、現在使用しているデータベースのすべてのコレクションを一覧表示するにはどうすればよいですか?

4

23 に答える 23

1265

できるよ...

JavaScript (シェル):

db.getCollectionNames()

Node.js:

db.listCollections()

非 JavaScript (シェルのみ):

show collections

非 JavaScript と呼ぶ理由は次のとおりです。

$ mongo prodmongo/app --eval "show collections"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
2016-10-26T19:34:34.886-0400 E QUERY    [thread1] SyntaxError: missing ; before statement @(shell eval):1:5

$ mongo prodmongo/app --eval "db.getCollectionNames()"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
[
    "Profiles",
    "Unit_Info"
]

本当に甘い、甘いshow collections出力が必要な場合は、次のことができます。

$ mongo prodmongo/app --eval "db.getCollectionNames().join('\n')"
MongoDB shell version: 3.2.10
connecting to: prodmongo/app
Profiles
Unit_Info
于 2012-01-14T22:57:47.127 に答える
447
> show collections

コマンド ライン ヘルプ ( help) に記載されているように、現在選択されている DB 内のすべてのコレクションが一覧表示されます。

于 2012-01-14T22:56:24.183 に答える
283

現在使用しているデータベースのすべてのコレクションを一覧表示するにはどうすればよいですか?

3つの方法

  • show collections
  • show tables
  • db.getCollectionNames()

すべてのデータベースを一覧表示するには:

show dbs

特定のデータベースを入力または使用するには:

use databasename

すべてのコレクションを一覧表示するには:

show collections

出力:

collection1
collection2
system.indexes

(また)

show tables

出力:

collection1
collection2
system.indexes

(また)

db.getCollectionNames()

出力:

[ "collection1", "collection2", "system.indexes" ]

特定のコレクションを入力または使用するには

use collectionname
于 2014-05-19T10:08:36.207 に答える
31

他の人が提案したオプションとは別に:

show collections  // Output every collection
show tables
db.getCollectionNames() // Shows all collections as a list

また、各コレクションがどのように作成されたかを知りたい場合に非常に便利な別の方法もあります (たとえば、特定のサイズの上限付きコレクションです)。

db.system.namespaces.find()
于 2013-10-31T05:22:47.157 に答える
25

まず、データベースを使用して、その中のすべてのコレクション/テーブルを表示する必要があります。

>show dbs
users 0.56787GB
test (empty)
>db.test.help() // this will give you all the function which can be used with this db
>use users
>show tables //will show all the collection in the db
于 2013-11-09T07:54:28.357 に答える
17

試す:

help // To show all help methods
show dbs  // To show all dbs
use dbname  // To select your db
show collections // To show all collections in selected db
于 2014-05-05T06:21:35.530 に答える
16

show tablesまたはを使用できますshow collections

于 2015-04-16T08:46:13.710 に答える
11

mongoshell での次のコマンドは一般的です。

show databases
show collections

また、

show dbs
use mydb
db.getCollectionNames()

すべてのコレクションと、名前空間全体の一部であるコレクションのインデックスを確認すると便利な場合があります。

これを行う方法は次のとおりです。

db.getCollectionNames().forEach(function(collection) {
    indexes = db[collection].getIndexes();
    print("Indexes for " + collection + ":");
    printjson(indexes);
});

3 つのコマンドとこのスニペットの間で、十分にカバーされているはずです!

于 2016-01-24T17:05:54.280 に答える
6
> show dbs        
anuradhfirst  0.000GB
local         0.000GB
> use anuradhfirst
switched to db anuradhfirst
> show collections
record
  • を使用して MongoDB データベースに接続しますmongo。これで接続が開始されます。
  • 次にshow dbsコマンドを実行します。これにより、既存の/利用可能なデータベースがすべて表示されます。
  • を選択しdatabaseます。上記では、ですanuradhfirst。次に実行しuse anuradhfirstます。これにより、必要なデータベースに切り替わります。
  • 次にshow collectionsコマンドを実行します。collectionsこれにより、選択したデータベース内のすべてが表示されます。
于 2016-08-22T05:42:54.343 に答える
4

> = 2.xでは、次のことができます

db.listCollections()

1.xでできること

db.getCollectionNames()
于 2016-01-12T02:30:44.907 に答える
2

コレクションを表示

このコマンドは通常、データベースに切り替えると MongoDB シェルで機能します。

于 2016-12-07T11:38:40.243 に答える
1

WiredTiger ストレージ エンジンを使用する MongoDB 3.0 の展開db.getCollectionNames()では、3.0 より前のバージョンの mongo シェルまたは 3.0 と互換性のあるバージョンより前のドライバーのバージョンから 実行するdb.getCollectionNames()と、既存のコレクションがあってもデータが返されません。

詳細については、こちらを参照してください

于 2017-03-21T15:27:04.357 に答える