クラス: Mongo::Database

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

Overview

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

以来

  • 2.0.0

名前空間で定義済み

クラス: ビュー

定数の概要の削減

管理者 =

管理データベース名。

以来

  • 2.0.0

' admin '.freeze
コマンド =

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

以来

  • 2.0.0

'$cmd'.freeze
DEFAULT_OPTIONS =

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

以来

  • 2.0.0

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

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

以来

  • 2.1.0

' name '.freeze
DATABASE =

データベース 定数。

以来

  • 2.1.0

'databases'.freeze
名前空間 =

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

以来

  • 2.0.0

' system.namespaces '.freeze

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

クラスメソッドの概要を折りたたむ

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

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

#read_worker#select_server#write_worker

コンストラクターの詳細

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

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

例:

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

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

パラメーター:

  • クライアント Mongo::Client

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

  • name ( stringSymbol )

    データベースの名前。

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

    オプション。

次の値が発生します。

  • Mongo::Database::InvalidName

    名前が nil の場合。

以来

  • 2.0.0



316
317
318
319
320
321
322
323
324
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は316行

デフォルト 初期化(クライアント, 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



62
63
64
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は62行

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

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

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

次の値を返します。

  • ( string )

    name データベースの名前。

以来

  • 2.0.0



65
66
67
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は65行

デフォルト name
  @name
end

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

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

次の値を返します。

  • ハッシュ

    options のオプション。

以来

  • 2.0.0



68
69
70
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は68行

デフォルト options
  @options
end

クラスメソッドの詳細

create (クライアント) =データベース

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

提供されたクライアント用のデータベースを作成し、クライアントの元のデータベースインスタンスと同じであることを避けたい場合に使用します。

例:

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

Database.create(client)

パラメーター:

次の値を返します。

以来

  • 2.0.0



496
497
498
499
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は496行

デフォルト 自己.create(クライアント)
  database = Database.新着情報(クライアント, クライアント.options[:database], クライアント.options)
  クライアント.instance_variable_set(:@database, database)
end

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

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

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

例:

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

database == other

パラメーター:

  • その他 オブジェクト

    確認するオブジェクト。

次の値を返します。

  • truefalse

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

以来

  • 2.0.0



94
95
96
97
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は94行

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

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

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

例:

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

database[:users]

パラメーター:

  • collection_name ( stringSymbol )

    コレクションの名前。

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

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

次の値を返します。

以来

  • 2.0.0



110
111
112
113
114
115
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は110行

デフォルト [](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 オブジェクト

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

  • :hint string

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

  • :max_time_ms 整数

    集計の実行を許可する最大時間(ミリ秒単位)。

  • :use_cursor truefalse

    コマンドがカーソルを使用してサーバーに結果の提供をリクエストするかどうかを示します。 サーバー バージョン3.6以降、集計では常にカーソルを使用して結果が提供され、このオプションは有効ではないことに注意してください。

  • :session セッション

    使用するセッション。

次の値を返します。

以来

  • 2.10.0



403
404
405
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は403行

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

#clusterMongo::Server

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

次の値を返します。

  • Mongo::Server

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

以来

  • 2.0.0



80
81
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は80行

def_delegator :cluster,
:next_primary

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

注:

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

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

パラメーター:

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

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

  • : フィルター ハッシュ

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

  • : authorized_collections truefalse

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

  • :comment オブジェクト

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

    mongodb.com/ja-jp/docs/manual/reference/command/listCollectionsを参照してください / 詳細と使用方法の詳細については、「 」を参照してください。

次の値を返します。

  • <String>配列未満

    コレクションの名前。

以来

  • 2.0.0



138
139
140
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は138行

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

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

注:

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

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

パラメーター:

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

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

  • : フィルター ハッシュ

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

  • : authorized_collections truefalse

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

  • :comment オブジェクト

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

    mongodb.com/ja-jp/docs/manual/reference/command/listCollectionsを参照してください / 詳細と使用方法の詳細については、「 」を参照してください。

次の値を返します。

以来

  • 2.0.0



191
192
193
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は191行

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

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

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

例:

コマンドを実行します。

database.command(:hello => 1)

パラメーター:

  • 操作 ハッシュ

    実行するコマンド。

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

    コマンド オプション。

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

  • :read ハッシュ

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

  • :session セッション

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

  • :execution_options ハッシュ

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

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

次の値を返します。

以来

  • 2.0.0



213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は213行

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

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

  クライアント.送信(:with_session, ops) 行う |セッション|
    サーバー = セレクター.[select_server](クラスター, nil, セッション)
    op = 操作::コマンド.新着情報(
      : セレクター => 操作,
      :db_name => name,
      :read => セレクター,
      :session => セッション
    )

    op.実行する(サーバー,
      context: 操作::Context.新着情報(クライアント: クライアント, セッション: セッション),
      次のオプションがあります。 execution_opts)
  end
end

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

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

例:

データベースの削除

database.drop

パラメーター:

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

    操作のオプション。

  • ops ハッシュ

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

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

  • :session セッション

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

次の値を返します。

  • 結果

    コマンドの結果です。

以来

  • 2.0.0



287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は287行

デフォルト 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.新着情報(クライアント: クライアント, セッション: セッション))
  end
end

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

このデータベースの Grid 「ファイルシステム」 を取得します。

パラメーター:

  • 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



358
359
360
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は358行

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

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

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

例:

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

database.inspect

次の値を返します。

  • ( string )

    データベース検査。

以来

  • 2.0.0



334
335
336
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は334行

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

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

注:

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

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

パラメーター:

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

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

  • : フィルター ハッシュ

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

  • :name_only truefalse

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

  • : authorized_collections truefalse

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

  • :comment オブジェクト

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

    mongodb.com/ja-jp/docs/manual/reference/command/listCollectionsを参照してください / 詳細と使用方法の詳細については、「 」を参照してください。

次の値を返します。

  • <Hash>配列 )

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

以来

  • 2.0.5



167
168
169
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は167行

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

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

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

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

パラメーター:

  • 操作 ハッシュ

    実行するコマンド。

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

    コマンド オプション。

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

  • :read ハッシュ

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

  • :session セッション

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

次の値を返します。

  • ハッシュ

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

以来

  • 2.0.0



251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は251行

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

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

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

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

例:

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

database.users

次の値を返します。

  • 表示::ユーザー

    ユーザー ビュー。

以来

  • 2.0.0



370
371
372
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は370行

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

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

注:

変更ストリームでは「majority」の読み取り保証のみが許可されます。

注:

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

MongoDB サーバーのバージョン3.6以降、$changeStream" パイプライン ステージは集計フレームワークでサポートされています。 バージョン4.0以降、このステージでは、クライアントのデータベースで発生するすべての変更に対して通知が送信されるようリクエストできます。

例:

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

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

パラメーター:

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

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

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

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

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

  • : full_document string

    許可された値: nil、"default"、"updateLookup"、"whenAvalable"、"Required"

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

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

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

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

  • : full_document_Before_change string

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

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

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

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

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

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

  • :max_await_time_ms 整数

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

  • :batch_size 整数

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

  • :collation BSON::Documentハッシュ

    使用する照合。

  • :session セッション

    使用するセッション。

  • :start_at_operation_time BSON::Timestamp

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

  • :comment オブジェクト

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

  • :show_expanded_events ブール値

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

次の値を返します。

  • ChangeStream

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

以来

  • 2.6.0



472
473
474
475
476
477
478
479
480
481
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は472行

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

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