クラス: Mongo::Database

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
再試行可能
定義:
lib/mongo/database.rb,
lib/mongo/database/view.rb,
lib/mongo/database/cursor_command_view.rb

Overview

db サーバー上のデータベースと、このレベルで実行可能な操作を表します。

以来

  • 2.0.0

名前空間で定義済み

クラス: CursorCommandView, View

定数の概要の削減

管理者 =

管理データベース名。

以来

  • 2.0.0

'管理者'
コマンド =

データベースコマンドが動作する「コレクション」。

以来

  • 2.0.0

'$cmd'
DEFAULT_OPTIONS =

デフォルトのデータベース オプション。

以来

  • 2.0.0

オプション::編集済み.新着情報(database: 管理者).freeze
名前 =
非推奨。

データベース名フィールド定数。

以来

  • 2.1.0

'name'
DATABASE =

データベース 定数。

以来

  • 2.1.0

'databases'
名前空間 =

すべてのコレクション名を保持するコレクションの名前。

以来

  • 2.0.0

'system.namespaces'

インスタンス属性の概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

再試行可能な に含まれるメソッド

#read_worker#select_server#with_overload_retry#write_worker

コンストラクターの詳細

#初期化(クライアント、名前、オプション = {}) =データベース

新しいデータベース オブジェクトをインスタンス化します。

例:

データベースをインスタンス化します。

Mongo::Database.new(client, :test)

パラメーター:

  • クライアント Mongo::Client

    ドライバー クライアント。

  • name ( stringSymbol )

    データベースの名前。

  • options ハッシュ (デフォルトは{}です)

    オプション。

オプション ハッシュ( options ):

  • :timeout_ms 整数

    操作のタイムアウト(ミリ秒単位)。 負でない整数である必要があります。 0 の明示的な値は無限を意味します。 デフォルト値が設定されていない場合、値はクライアントから継承されることを意味します。

次の値が発生します。

  • Mongo::Database::InvalidName

    名前が nil の場合。

以来

  • 2.0.0



479
480
481
482
483
484
485
486
487
488
# ファイル 'lib/mongo/ データベース.rb' 行 479

デフォルト 初期化(クライアント, name, options = {})
  発生 エラー::InvalidDatabaseName.新着情報 ただし、 name
  場合 Lint.有効か & & !(name.is_a?(文字列) || name.is_a?(シンボル))
    発生 "データベース名は string または記号にする必要があります: #{ name } "
  end

  @client = クライアント
  @name = name.to_s.freeze
  @options = options.freeze
end

インスタンス属性の詳細

#クライアント=クライアント(読み取り専用)

クライアント データベース クライアントを返します。

次の値を返します。

  • クライアント

    クライアント データベース クライアント。

以来

  • 2.0.0



61
62
63
# ファイル 'lib/mongo/ データベース.rb' 行 61

デフォルト クライアント
  @client
end

# name = string (読み取り専用)

データベースの名前を返します。

次の値を返します。

  • ( string )

    name データベースの名前。

以来

  • 2.0.0



64
65
66
# ファイル 'lib/mongo/ データベース.rb' 行 64

デフォルト name
  @name
end

オプション=ハッシュ(読み取り専用)

オプション オプションを返します。

次の値を返します。

  • ハッシュ

    options のオプション。

以来

  • 2.0.0



67
68
69
# ファイル 'lib/mongo/ データベース.rb' 行 67

デフォルト options
  @options
end

インスタンス メソッドの詳細

# == (その他) === (その他) ==================================================================================

データベース オブジェクトが別のオブジェクトと等価であることを確認します。 名前が同じであるかどうかのみを確認します。

例:

データベースの等価性を確認します。

database == other

パラメーター:

  • その他 オブジェクト

    確認するオブジェクト。

次の値を返します。

  • truefalse

    オブジェクトが等しい場合。

以来

  • 2.0.0



94
95
96
97
98
# ファイル 'lib/mongo/ データベース.rb' 行 94

デフォルト ==(その他)
  return false ただし、 その他.is_a?(Database)

  name == その他.name
end

# [] (collection_name, options = {})[] = Mongo::Collection: コレクションも呼ばれます

指定された名前でこのデータベース内のコレクションを取得します。

例:

コレクションを取得します。

database[:users]

パラメーター:

  • collection_name ( stringSymbol )

    コレクションの名前。

  • options ハッシュ (デフォルトは{}です)

    コレクションのオプション。

次の値を返します。

以来

  • 2.0.0



111
112
113
114
115
116
117
118
# ファイル 'lib/mongo/ データベース.rb' 行 111

デフォルト [](collection_name, options = {})
  場合 options[:server_api]
    発生 ArgumentError,
          コレクション オブジェクトには、 : server_apiオプションは指定できません。クライアント レベルでのみ指定できます
  end

  コレクション.新着情報(自己, collection_name, options)
end

#集計(パイプライン、オプション = {}) = Collection::View::Aggregation

データベースで集計を実行します。

例:

集計を実行します。

collection.aggregate([ { "$listLocalSessions" => {} } ])

パラメーター:

  • パイプライン <Hash>配列 )

    集計パイプライン。

  • options ハッシュ (デフォルトは{}です)

    集計オプション。

オプション ハッシュ( options ):

  • :allow_disk_use truefalse

    集計中にディスクの使用が許可されている場合は、 を true に設定します。

  • :batch_size 整数

    バッチするごとに返すドキュメントの数。

  • :bypass_document_validation truefalse

    ドキュメント レベルの検証をスキップするかどうか。

  • :collation ハッシュ

    使用する照合。

  • :comment オブジェクト

    このコマンドに添付するユーザー指定のコメント。

  • :max_time_ms 整数

    クエリの実行を許可する最大時間(ミリ秒単位)。 このオプションは非推奨です。代わりに :timeout_ms を使用してください。

  • :timeout_ms 整数

    操作のタイムアウト(ミリ秒単位)。 負でない整数である必要があります。 0 の明示的な値は無限を意味します。 デフォルト値が設定されていない場合、データベースまたはクライアントから値が継承されることを意味します。

  • :hint string

    集計に使用するインデックス。

  • :session セッション

    使用するセッション。

次の値を返します。

以来

  • 2.10.0



568
569
570
# ファイル 'lib/mongo/ データベース.rb' 行 568

デフォルト 集計(パイプライン, options = {})
  ビュー.新着情報(自己, options).集計(パイプライン, options)
end

#clusterMongo::Server

クラスターからプライマリ サーバーを取得します。

次の値を返します。

  • Mongo::Server

    クラスターからプライマリ サーバーを取得します。

以来

  • 2.0.0



80
81
# ファイル 'lib/mongo/ データベース.rb' 行 80

def_delegator :cluster,
:next_primary

# collection_names (オプション = {})= Array[String ]<String>

注:

返されるコレクション名のセットは、リクエストを満たす MongoDB サーバーのバージョンによって異なります。

データベース内の非システム コレクションのすべての名前を取得します。

See https://mongodb.com/ja-jp/docs/manual/reference/command/listCollections/
for more information and usage.

パラメーター:

  • options ハッシュ (デフォルトは{}です)

オプション ハッシュ( options ):

  • : フィルター ハッシュ

    返されるコレクションのフィルター。

  • : authorized_collections truefalse

    true に設定し、nameOnly: true で使用すると、アクセス制御が強制されている場合に、必要な特権を持たないユーザーにもコマンドの実行を許可するフラグ

  • :comment オブジェクト

    このコマンドに添付するユーザー指定のコメント。

  • :timeout_ms 整数

    操作のタイムアウト(ミリ秒単位)。 負でない整数である必要があります。 0 の明示的な値は無限を意味します。 デフォルト値が設定されていない場合、データベースまたはクライアントから値が継承されることを意味します。

次の値を返します。

  • <String>配列未満

    コレクションの名前。

以来

  • 2.0.0



145
146
147
# ファイル 'lib/mongo/ データベース.rb' 行 145

デフォルト collection_names(options = {})
  ビュー.新着情報(自己, options).collection_names(options)
end

コレクションの数(オプション = {})= Array< Mongo::Collection >

注:

返されるコレクションのセットは、リクエストを満たす MongoDB サーバーのバージョンによって異なります。

このデータベースに属するすべての非システム コレクションを取得します。

See https://mongodb.com/ja-jp/docs/manual/reference/command/listCollections/
for more information and usage.

パラメーター:

  • options ハッシュ (デフォルトは{}です)

オプション ハッシュ( options ):

  • : フィルター ハッシュ

    返されるコレクションのフィルター。

  • : authorized_collections truefalse

    true に設定し、name_only: true で使用すると、アクセス制御が強制されている場合に、必要な特権を持たないユーザーにもコマンドの実行を許可するフラグです。

  • :comment オブジェクト

    このコマンドに添付するユーザー指定のコメント。

  • :timeout_ms 整数

    操作のタイムアウト(ミリ秒単位)。 負でない整数である必要があります。 0 の明示的な値は無限を意味します。 デフォルト値が設定されていない場合、データベースまたはクライアントから値が継承されることを意味します。

次の値を返します。

以来

  • 2.0.0



206
207
208
# ファイル 'lib/mongo/ データベース.rb' 行 206

デフォルト collections(options = {})
  collection_names(options).map { |name| コレクション(name) }
end

#コマンド(操作、opts = {}) = Mongo::Operation::Result

データベースで コマンドを実行します。

例:

コマンドを実行します。

database.command(:hello => 1)

パラメーター:

  • 操作 ハッシュ

    実行するコマンド。

  • ops ハッシュ (デフォルトは{}です)

    コマンド オプション。

  • options ハッシュ

    カスタマイズ可能なオプションのセット

オプション ハッシュ( opts ):

  • :read ハッシュ

    このコマンドの 読み込み設定(read preference) 。

  • :session セッション

    このコマンドに使用するセッション。

  • :execution_options ハッシュ

    このコマンドを実行するコードに渡すオプション。 これは内部オプションであり、変更される可能性があります。

    • :deserialize_as_bson [ ブール値 ] このコマンドへの応答を、可能な場合はネイティブRuby型ではなくBSON typesを使用して逆シリアル化するかどうか。

次の値を返します。

以来

  • 2.0.0



232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
# ファイル 'lib/mongo/ データベース.rb' 行 232

デフォルト コマンド(操作, ops = {})
  ops = ops.dup
  execution_opts = ops.削除(:execution_options) || {}

  txn_read_pref = (ops[:session].txn_read_preference 場合 ops[:session] & & ops[:session].in_transaction?)
  txn_read_pref ||= ops[:read] || ServerSelector::プライマリ
  Lint.validate_userscore_read_preference(txn_read_pref)
  セレクター = ServerSelector.得る(txn_read_pref)

  クライアント.with_session(ops) 行う |セッション|
    context = 操作::Context.新着情報(
      クライアント: クライアント,
      セッション: セッション,
      operation_timeouts: operation_timeouts(ops)
    )
    op = 操作::コマンド.新着情報(
      セレクター: 操作,
      db_name: name,
      read: セレクター,
      セッション: セッション
    )

    retry_enabled = クライアント.options[:retry_reads] != false & &
                    クライアント.options[:retry_writes] != false
    with_overload_retry(context: context, retry_enabled: retry_enabled) 行う
      サーバー = セレクター.[select_server](クラスター, nil, セッション)
      op.実行する(サーバー, context: context, 次のオプションがあります。 execution_opts)
    end
  end
end

#カーソル_command(command, options = {}) ⇒ Mongo::Cursor

カーソルを返すコマンドを実行し、応答をカーソルとして解析します。

コマンドは変更されずにサーバーに送信されます。ドライバーはこれを検査したり変更したりしてはなりません。応答にカーソル フィールドが含まれていない場合、エラーが発生します。コマンドは再試行されません。

注: コマンドドキュメントにmaxTimeMSフィールドが既に設定されている場合、そのままにします。以下のmax_time_msオプションは、getMoreコマンドにのみ適用されます。timeout_msmax_time_msの両方を設定することはサポートされておらず、定義されていない動作になります。

例:

カーソルを返すコマンドを実行します。

database.cursor_command(checkMetadataConsistency: 1)

パラメーター:

  • コマンド ハッシュ

    実行するコマンド。

  • options ハッシュ (デフォルトは{}です)

    コマンド オプション。

オプション ハッシュ( options ):

  • :read ハッシュ

    このコマンドの読み込み設定 (read preference)は、サーバー選択に使用され、以後の getMore で再利用されます。

  • :session セッション

    使用するセッション。指定されていない場合は、暗黙的なセッションが作成され、カーソルの存続期間中再利用されます。

  • :timeout_ms 整数

    操作タイムアウト(ミリ秒単位)。

  • :batch_size 整数

    getMore コマンドで送信する batchSize。

  • :max_time_ms 整数

    getMore コマンドで送信する maxTimeMS。

  • :comment オブジェクト

    getMore コマンドに添付するコメント。

  • : cursor_type 記号

    カーソルのタイプ、:tailable または :tailable_await。コマンド ドキュメントに設定されているフラグと一致する必要があります。

  • :timeout_mode 記号

    :cursor_lifetime または :iteration。

次の値を返します。

次の値が発生します。

以来

  • 2.0.0



301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
# ファイル 'lib/mongo/ データベース.rb' 行 301

デフォルト cursor_command(コマンド, options = {})
  options = options.dup
  execution_opts = options.削除(:execution_options) || {}
  view_options = extract_cursor_command_view_options(options)

  txn_read_pref = (options[:session].txn_read_preference 場合 options[:session] & & options[:session].in_transaction?)
  txn_read_pref ||= options[:read] || ServerSelector::プライマリ
  Lint.validate_userscore_read_preference(txn_read_pref)
  セレクター = ServerSelector.得る(txn_read_pref)

  # セッションは意図的に #with_session でラップされていません。暗黙的な
  # セッションはこのメソッドより長く続き、カーソルによって終了されます
  # 使い切られたか、閉じられたかのいずれか。カーソルが所有権を取得するまで、セッションと
  # ロードバランスされた接続は、各終了パスでここでクリーンアップされます。
  セッション = クライアント.get_session(options)
  context = 操作::Context.新着情報(
    クライアント: クライアント,
    セッション: セッション,
    operation_timeouts: operation_timeouts(options)
  )
  op = 操作::CursorCommand.新着情報(
    セレクター: コマンド,
    db_name: name,
    read: セレクター,
    セッション: セッション
  )

  # クライアントのバックプレッシャー仕様に従い、総合コマンドを再試行します
  # オーバーロードエラーには、再試可能な読み取りと書き込み  (write)の両方が必要です
  # 有効。データベースコマンドと同じ。
  retry_enabled = クライアント.options[:retry_reads] != false & &
                  クライアント.options[:retry_writes] != false

  サーバー = nil
  接続 = nil
  cursor = nil
  begin
    結果 = with_overload_retry(context: context, retry_enabled: retry_enabled) 行う
      サーバー = セレクター.[select_server](クラスター, nil, セッション)
      場合 サーバー.load_ balancer?
        # カーソルが空になったときに接続がチェックインされます。
        接続 = check_out_cursor_command_connection(サーバー, context)
        begin
          op.execution_with_ connection(接続, context: context, 次のオプションがあります。 execution_opts)
        ヘルプ 標準エラー
          # エラーが伝播される前に接続を解放します。
          # 再試行された試行では新しいものがチェックアウトされます。
          接続.connection_Pool.checkpoint_in(接続) ただし、 接続.ピン留めされたかどうか
          接続 = nil
          発生
        end
      else
        op.実行する(サーバー, context: context, 次のオプションがあります。 execution_opts)
      end
    end

    ただし、 結果.cursor?
      発生 エラー::InvalidCursorOperation,
            'コマンド応答にカーソルが含まれていません。' \
            'カーソルを返さないコマンドにはデータベースコマンドを使用します。'
    end

    view = CursorCommandView.new(self,view_options)
    カーソル = カーソル.new(view,result, サーバー, session: session, context: context)
  ensure
    # カーソルが作成された場合、セッションと接続はカーソルに属します。
    # そうでない場合(エラーまたは応答にカーソルがない場合)は、ここで解放します。
unless カーソル
      connection.connection_pool.check_in(connection)if connection && !connection.pinned?session.end_sessionif session && session.implicit?end
  end
  カーソル
end

#drop (オプション = {}) =結果

データベースとそれに関連するすべての情報を削除します。

例:

データベースの削除

database.drop

パラメーター:

  • options ハッシュ (デフォルトは{}です)

    操作のオプション。

オプション ハッシュ( options ):

  • :session セッション

    操作に使用するセッション。

  • :write_concern ハッシュ

    書込み保証(write concern) オプション。

  • :timeout_ms 整数

    操作のタイムアウト(ミリ秒単位)。 負でない整数である必要があります。 0 の明示的な値は無限を意味します。 デフォルト値が設定されていない場合、データベースまたはクライアントから値が継承されることを意味します。

次の値を返します。

  • 結果

    コマンドの結果です。

以来

  • 2.0.0



439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
# ファイル 'lib/mongo/ データベース.rb' 行 439

デフォルト drop(options = {})
  操作 = { dropDatabase: 1 }
  クライアント.with_session(options) 行う |セッション|
    write_concern = 場合 options[:write_concern]
                      WriteConcern.得る(options[:write_concern])
                    else
                      自己.write_concern
                    end
    操作::DropDatabase.新着情報({
                                  セレクター: 操作,
                                  db_name: name,
                                  write_concern: write_concern,
                                  セッション: セッション
                                }).実行する(
                                  next_primary(nil, セッション),
                                  context: 操作::Context.新着情報(
                                    クライアント: クライアント,
                                    セッション: セッション,
                                    operation_timeouts: operation_timeouts(options)
                                  )
                                )
  end
end

#fs(options = {}) ⇒ Grid::FSBucket

このデータベースの Grid "filesystem" を取得します。

パラメーター:

  • options ハッシュ (デフォルトは{}です)

    GridFS オプション。

オプション ハッシュ( options ):

  • :bucket_name string

    ファイルとチャンク コレクションのプレフィックス。

  • :chunk_size 整数

    デフォルトのチャンク サイズ を上書きします。

  • :fs_name string

    ファイルとチャンク コレクションのプレフィックス。

  • :read string

    読み込み設定 (read preference)。

  • :session セッション

    使用するセッション。

  • :write ハッシュ

    非推奨。 :write_concern オプションと同等。

  • :write_concern ハッシュ

    書込み保証(write concern) オプション。 :w => Integer|String、 :fsync => ブール値、 :j => ブール値 にすることができます。

次の値を返します。

以来

  • 2.0.0



522
523
524
# ファイル 'lib/mongo/ データベース.rb' 行 522

デフォルト fs(options = {})
  グリッド::FS バケット.新着情報(自己, options)
end

詳しくは、 を 検査しstring ます

データベースのpretty-printed string 検査を取得します。

例:

データベースを調べます。

database.inspect

次の値を返します。

  • ( string )

    データベース検査。

以来

  • 2.0.0



498
499
500
# ファイル 'lib/mongo/ データベース.rb' 行 498

デフォルト 検査する
  " #< Mongo::Database: 0 x #{ object_id } name= #{ name } > "
end

list_collections (オプション 番号 = {})= Array[Hash ]<Hash>

注:

返されるコレクションのセットと、コレクションごとの情報ハッシュのスキーマは、リクエストを満たす MongoDB サーバーのバージョンによって異なります。

データベース内のすべての非システム コレクションに関する情報を取得します。

See https://mongodb.com/ja-jp/docs/manual/reference/command/listCollections/
for more information and usage.

パラメーター:

  • options ハッシュ (デフォルトは{}です)

オプション ハッシュ( options ):

  • : フィルター ハッシュ

    返されるコレクションのフィルター。

  • :name_only truefalse

    コマンドがコレクションまたはビューの名前とタイプのみを返すか、名前とその他の情報の両方を返すかを示します。

  • : authorized_collections truefalse

    true に設定し、nameOnly: true で使用すると、アクセス制御が強制されている場合に、必要な特権を持たないユーザーにもコマンドの実行を許可するフラグ。

  • :comment オブジェクト

    このコマンドに添付するユーザー指定のコメント。

  • :timeout_ms 整数

    操作のタイムアウト(ミリ秒単位)。 負でない整数である必要があります。 0 の明示的な値は無限を意味します。 デフォルト値が設定されていない場合、データベースまたはクライアントから値が継承されることを意味します。

次の値を返します。

  • <Hash>配列 )

    データベース内の各コレクションに 1 つある、情報ハッシュの配列。

以来

  • 2.0.5



178
179
180
# ファイル 'lib/mongo/ データベース.rb' 行 178

デフォルト list_collections(options = {})
  ビュー.新着情報(自己, options).list_collections(options)
end

# operation_timeouts(opts) = ハッシュ

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

操作レベルで設定されている timeout_ms 値(存在する場合)、および/またはコレクション/データベース/クライアントレベルで設定されている timeout_ms 値(存在する場合)を返します。

次の値を返します。

  • ハッシュ

    操作レベルで設定されている timeout_ms 値(存在する場合)、および/またはコレクション/データベース/クライアントレベルで設定されている timeout_ms 値(存在する場合)。

以来

  • 2.0.0



659
660
661
662
663
664
665
666
667
668
# ファイル 'lib/mongo/ データベース.rb' 行 659

デフォルト operation_timeouts(ops)
  TODO: 2 つのタイムアウトが個別に必要な場合は、再評価する必要があります。
  {}.タップ 行う |結果|
    場合 ops[:timeout_ms].nil?
      結果[:in inherited_timeout_ms] = timeout_ms
    else
      結果[: operation_timeout_ms] = ops.削除(:timeout_ms)
    end
  end
end

# read_command (操作, opts = {{}) =ハッシュ

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

データベースで読み取りコマンドを実行し、必要に応じて読み取りを再試行します。

パラメーター:

  • 操作 ハッシュ

    実行するコマンド。

  • ops ハッシュ (デフォルトは{}です)

    コマンド オプション。

オプション ハッシュ( opts ):

  • :read ハッシュ

    このコマンドの 読み込み設定(read preference) 。

  • :session セッション

    このコマンドに使用するセッション。

  • :comment オブジェクト

    このコマンドに添付するユーザー指定のコメント。

  • :timeout_ms 整数

    操作のタイムアウト(ミリ秒単位)。 負でない整数である必要があります。 0 の明示的な値は無限を意味します。 デフォルト値が設定されていない場合、データベースまたはクライアントから値が継承されることを意味します。

  • :op_name string | nil

    トレース目的の操作の名前。

次の値を返します。

  • ハッシュ

    コマンドの実行結果です。

以来

  • 2.0.0



394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
# ファイル 'lib/mongo/ データベース.rb' 行 394

デフォルト read_command(操作, ops = {})
  txn_read_pref = (ops[:session].txn_read_preference 場合 ops[:session] & & ops[:session].in_transaction?)
  txn_read_pref ||= ops[:read] || ServerSelector::プライマリ
  Lint.validate_userscore_read_preference(txn_read_pref)
  設定 = ServerSelector.得る(txn_read_pref)

  クライアント.with_session(ops) 行う |セッション|
    context = 操作::Context.新着情報(
      クライアント: クライアント,
      セッション: セッション,
      operation_timeouts: operation_timeouts(ops)
    )
    操作 = 操作::コマンド.新着情報(
      セレクター: 操作.dup,
      db_name: name,
      read: 設定,
      セッション: セッション,
      comment: ops[:comment]
    )
    op_name = ops[:op_name] || 'コマンド'
    追跡.track_operation(操作, context, op_name: op_name) 行う
      read_with_retry(セッション, 設定, context) 行う |サーバー|
        操作.実行する(サーバー, context: context)
      end
    end
  end
end

#timeout_msInteger | nil

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このデータベースまたは対応するクライアントの操作タイムアウトを返します。

次の値を返します。

  • (Integer | nil)

    このデータベースでは 、または対応するクライアントでは である操作タイムアウト。

以来

  • 2.0.0



651
652
653
# ファイル 'lib/mongo/ データベース.rb' 行 651

デフォルト timeout_ms
  options[:timeout_ms] || クライアント.timeout_ms
end

ユーザー数表示::ユーザー

このデータベースのユーザー ビューを取得します。

例:

ユーザー ビューを取得します。

database.users

次の値を返します。

  • 表示::ユーザー

    ユーザー ビュー。

以来

  • 2.0.0



534
535
536
# ファイル 'lib/mongo/ データベース.rb' 行 534

デフォルト ユーザー
  認証::user::ビュー.新着情報(自己)
end

多数表示 (パイプライン = []、オプション = {}) = ChangeStream

注:

変更ストリームでは '過半数' の読み取り保証 (read concern)のみが許可されます。

注:

このヘルパー メソッドは、再開可能性をサポートするために、 $changeStream ステージで未加工の集計を実行するよりも推奨されます。

クライアントのデータベースで発生するすべての変更について通知を送信するよう、ユーザーがリクエストできるようにします。

例:

指定されたデータベースの変更通知を取得します。

database.watch([{ '$match' => { operationType: { '$in' => ['insert', 'replace'] } } }])

パラメーター:

  • パイプライン Array <Hash> (デフォルトは[]

    任意の追加のフィルター演算子。

  • options ハッシュ (デフォルトは{}です)

    変更ストリーム オプション。

オプション ハッシュ( options ):

  • : full_document string

    許可された値: nil、' デフォルト'、'updateLookup'、'whenAvalable'、'Required'

    デフォルトでは値は送信されません(nil)は、「デフォルト」と同等です。デフォルトでは 、部分更新の変更通知には、ドキュメントへの変更を説明するデルタが含まれます。

    「updateLookup」に設定されている場合、部分的な更新の変更通知には、ドキュメントに対する変更を説明するデルタと、変更が発生した後一定時間後に変更されたドキュメント全体のコピーの両方が含まれます。

    「whenAvalable」に設定すると、このイベントの変更後のイメージが利用可能な場合、置換および更新される変更イベントのために変更されたドキュメントの変更後のイメージを返すように変更ストリームを構成します。

    「必須」に設定すると、「whenAvalable」と同じ動作をしますが、変更後のイメージが利用できない場合はエラーが発生します。

  • : full_document_Before_change string

    許可された値は: nil、"whenAvalable"、"Required"、"OFF" の場合、

    デフォルトでは値は送信されません(nil)は、「オフ」と同じです。

    「whenAvailable」に設定すると、 は、使用可能な場合、変更イベントの置換、更新、削除のために変更されたドキュメントの変更前のイメージを返すように変更ストリームを構成します。

    「必須」に設定すると、「whenAvalable」と同じ動作をしますが、変更前のイメージが利用できない場合はエラーが発生します。

  • :resume_ after BSON::Documentハッシュ

    新しい変更ストリームの論理的な開始点を指定します。

  • :max_await_time_ms 整数

    新しいドキュメントが変更ストリーム クエリを満たすまでにサーバーが待機する最大時間。

  • :batch_size 整数

    バッチするごとに返すドキュメントの数。

  • :collation BSON::Documentハッシュ

    使用する照合。

  • :session セッション

    使用するセッション。

  • :start_at_operation_time BSON::Timestamp

    指定されたタイムスタンプ後に発生した変更のみを返します。サーバーに対して実行されたコマンドは、ここで使用できるクラスター時間を返します。

  • :comment オブジェクト

    このコマンドに添付するユーザー指定のコメント。

  • :show_expanded_events ブール値

    サーバーが変更ストリームイベントの「展開」リストを送信できるようにします。このフラグセットに含まれる追加のイベントのリストは、createIndexes、dropIndexes、変更、作成、shardCollection、reshardCollection、 refineCollectionShardKey です。

次の値を返します。

  • ChangeStream

    変更ストリーム オブジェクト。

以来

  • 2.6.0



635
636
637
638
639
640
641
642
643
644
645
# ファイル 'lib/mongo/ データベース.rb' 行 635

デフォルト 監視(パイプライン = [], options = {})
  view_options = options.dup
  view_options[: cursor_type] = :tailable_await 場合 options[:max_await_time_ms]

  mongo::コレクション::ビュー::ChangeStream.新着情報(
    mongo::コレクション::ビュー.新着情報(コレクション(" #{ COMMAND } .aggregate "), {}, view_options),
    パイプライン,
    mongo::コレクション::ビュー::ChangeStream::DATABASE,
    options
  )
end