Class: Mongo::Operation::Commands::UserQuery

Inherits:
Object
  • Object
show all
Includes:
Executable, Specifiable
Defined in:
lib/mongo/operation/commands/user_query.rb

Overview

A MongoDB operation to get info of a particular user in a database.

Initialization:

param [ Hash ] spec The specifications for the user query operation.

option spec :user_name [ String ] The name of the user.
option spec :db_name [ String ] The name of the database where the user exists.
option spec :options [ Hash ] Options for the operation.

Examples:

Create the user query operation.

Read::UserQuery.new(:name => 'emily', :db_name => 'test-db')

Since:

  • 2.1.0

Constant Summary

Constants included from Specifiable

Specifiable::BYPASS_DOC_VALIDATION, Specifiable::COLLATION, Specifiable::COLL_NAME, Specifiable::CURSOR_COUNT, Specifiable::CURSOR_ID, Specifiable::CURSOR_IDS, Specifiable::DB_NAME, Specifiable::DELETE, Specifiable::DELETES, Specifiable::DOCUMENTS, Specifiable::INDEX, Specifiable::INDEXES, Specifiable::INDEX_NAME, Specifiable::MAX_TIME_MS, Specifiable::OPERATION_ID, Specifiable::OPTIONS, Specifiable::READ, Specifiable::READ_CONCERN, Specifiable::SELECTOR, Specifiable::TO_RETURN, Specifiable::UPDATE, Specifiable::UPDATES, Specifiable::USER, Specifiable::USER_NAME, Specifiable::WRITE_CONCERN

Instance Attribute Summary

Attributes included from Specifiable

#spec

Instance Method Summary collapse

Methods included from Specifiable

#==, #bypass_document_validation, #coll_name, #collation, #cursor_count, #cursor_id, #cursor_ids, #db_name, #delete, #deletes, #documents, #index, #index_name, #indexes, #initialize, #max_time_ms, #namespace, #operation_id, #options, #ordered?, #read, #read_concern, #to_return, #update, #updates, #user, #user_name, #write_concern

Instance Method Details

#execute(server) ⇒ Result

Execute the operation.

Examples:

Execute the operation.

operation.execute(server)

Parameters:

  • server (Mongo::Server)

    The server to send this operation to.

Returns:

  • (Result)

    The operation response, if there is one.

Since:

  • 2.1.0



46
47
48
49
50
51
52
53
54
# File 'lib/mongo/operation/commands/user_query.rb', line 46

def execute(server)
  if server.features.users_info_enabled?
    UsersInfo.new(spec).execute(server).validate!
  else
    server.with_connection do |connection|
      Result.new(connection.dispatch([ message(server) ])).validate!
    end
  end
end