Method: Mongo::Client#list_databases

Defined in:
lib/mongo/client.rb

#list_databases(filter = {}, name_only = false, opts = {}) ⇒ Array<Hash>

Get info for each database.

See https://mongodb.com/docs/manual/reference/command/listDatabases/
for more information and usage.

Examples:

Get the info for each database.

client.list_databases

Parameters:

  • filter (Hash) (defaults to: {})

    The filter criteria for getting a list of databases.

  • name_only (true, false) (defaults to: false)

    Whether to only return each database name without full metadata.

  • opts (Hash) (defaults to: {})

    The command options.

  • options (Hash)

    a customizable set of options

Options Hash (opts):

  • :authorized_databases (true, false)

    A flag that determines which databases are returned based on user privileges when access control is enabled.

  • :comment (Object)

    A user-provided comment to attach to this command.

  • :session (Session)

    The session to use.

Returns:

  • (Array<Hash>)

    The info for each database.

Since:

  • 2.0.5



984
985
986
987
988
989
990
991
992
993
# File 'lib/mongo/client.rb', line 984

def list_databases(filter = {}, name_only = false, opts = {})
  cmd = { listDatabases: 1 }
  cmd[:nameOnly] = !!name_only
  cmd[:filter] = filter unless filter.empty?
  cmd[:authorizedDatabases] = true if opts[:authorized_databases]
  use(Database::ADMIN)
    .database
    .read_command(cmd, opts.merge(op_name: 'listDatabases'))
    .first[Database::DATABASES]
end