定義
- db.getCollectionNames()
- 現在のデータベース内のすべてのコレクションとビューの名前を含む配列を返します。アクセス制御を使用して実行中の場合は、ユーザーの特権に応じたコレクションの名前を返します。 詳細については、 必要なアクセス権 を参照してください。 
互換性
このメソッドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです 
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
- MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン 
- MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン 
必要なアクセス権
db.getCollectionNames() は次のものと同等です。
db.runCommand(    {        listCollections: 1.0,        authorizedCollections: true,        nameOnly: true    } ) 
- 必要なアクセス権(データベースに対して - listCollectionsアクションを許可する特権)を持つユーザーの場合、このメソッドはデータベースのすべてのコレクションの名前を一覧表示します。
- 必要なアクセス権を持たないユーザーの場合、このメソッドはユーザーが特権を持っているコレクションのみを一覧表示します。たとえば、ユーザーがデータベース内の特定のコレクションに対して - findを持っている場合、メソッドはそのコレクションのみを返します。
動作
クライアントの切断
操作が完了する前にdb.getCollectionNames()を発行したクライアントが切断された場合、MongoDB はdb.getCollectionNames()をkillOpを使用して終了対象としてマークします。
レプリカセット ノードの状態の制限
レプリカセット ノードでlistCollections操作を実行するには、ノードがPRIMARYまたはSECONDARY状態である必要があります。 ノードがSTARTUP2などの別の状態にある場合、操作はエラーになります。
例
以下は、 records データベース内のすべてのコレクションの名前を返します。
use records db.getCollectionNames() 
このメソッドは、コレクションの名前を以下のように配列で返します。
[ "employees", "products", "mylogs", "system.indexes" ]