クラス: Mongo::Database
- 継承:
-
オブジェクト
- オブジェクト
- 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 サーバー上のデータベースと、このレベルで実行可能な操作を表します。
名前空間で定義済み
クラス: ビュー
定数の概要の削減
- 管理者 =
管理データベース名。
' admin '.freeze
- コマンド =
データベースコマンドが操作する コレクション 。
'$cmd'.freeze
- DEFAULT_OPTIONS =
デフォルトのデータベース オプション。
オプション::編集済み.新着情報(:database => 管理者).freeze
- 名前 =
非推奨。
データベース名フィールド定数。
' name '.freeze
- DATABASE =
データベース 定数。
'databases'.freeze
- 名前空間 =
すべてのコレクション名を保持するコレクションの名前。
' system.namespaces '.freeze
インスタンス属性の概要を折りたたむ
-
#client ⇒ Client
readOnly
クライアント データベース クライアント。
-
#name = string
readOnly
名前 データベースの名前。
-
#options ⇒ Hash
readOnly
オプション のオプション。
クラスメソッドの概要を折りたたむ
-
。 create (クライアント) = データベース
private
提供されたクライアント用のデータベースを作成し、クライアントの元のデータベースインスタンスと同じであることを避けたい場合に使用します。
インスタンス メソッドの概要を折りたたむ
-
== (その他) ===(その他) ======================================
データベース オブジェクトが別のオブジェクトと等価であることを確認します。
-
# [] (collection_name、オプション = {}) = Mongo::Collection (# コレクションも)
指定された名前でこのデータベース内のコレクションを取得します。
-
#集計(パイプライン、オプション = {}) = Collection::View::Aggregation
データベースで集計を実行します。
-
#cluster ⇒ Mongo::Server
クラスターからプライマリ サーバーを取得します。
-
# collection_names (オプション = {})= Array[String]<String>
データベース内の非システム コレクションのすべての名前を取得します。
-
コレクション の数(オプション = {})= Array[Mongo::Collection]<Mongo::Collection>
このデータベースに属するすべての非システム コレクションを取得します。
-
#コマンド(操作、opts = {}) = Mongo::Operation::Result
データベースで コマンドを実行します。
-
#drop (オプション = {}) = 結果
データベースとそれに関連するすべての情報を削除します。
-
#fs(options = {}) ⇒ Grid::FSBucket
このデータベースの Grid 「ファイルシステム」 を取得します。
-
#初期化(クライアント、名前、オプション = {}) = データベース
コンストラクター
新しいデータベース オブジェクトをインスタンス化します。
-
詳しくは、 を 検査し ますstring
データベースのpretty-printed string 検査を取得します。
-
list_collections (オプション 番号 = {})= Array[Hash]<Hash>
データベース内のすべての非システム コレクションに関する情報を取得します。
-
# read_command (操作, opts = {{}) = ハッシュ
private
データベースで読み取りコマンドを実行し、必要に応じて読み取りを再試行します。
-
ユーザー数~ 表示::ユーザー
このデータベースのユーザー ビューを取得します。
-
多数表示(パイプライン = []、オプション = {}) = ChangeStream
MongoDB サーバーのバージョン3.6以降、$changeStream" パイプライン ステージは集計フレームワークでサポートされています。
再試行可能な に含まれるメソッド
#read_worker 、 #select_server 、 #write_worker
コンストラクターの詳細
#初期化(クライアント、名前、オプション = {}) =データベース
新しいデータベース オブジェクトをインスタンス化します。
316 317 318 319 320 321 322 323 324 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は316行 デフォルト 初期化(クライアント, name, = {}) 発生 エラー::InvalidDatabaseName.新着情報 ただし、 name 場合 Lint.有効か & & !(name.is_a?(文字列) || name.is_a?(シンボル)) 発生 "データベース名は string または記号にする必要があります: #{ name } " end @client = クライアント @name = name.to_s.freeze @options = .freeze end |
インスタンス属性の詳細
#クライアント=クライアント(読み取り専用)
クライアント データベース クライアントを返します。
62 63 64 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は62行 デフォルト クライアント @client end |
# name = string (読み取り専用)
データベースの名前を返します。
65 66 67 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は65行 デフォルト name @name end |
オプション=ハッシュ(読み取り専用)
オプション オプションを返します。
68 69 70 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は68行 デフォルト @options end |
クラスメソッドの詳細
。 create (クライアント) =データベース
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
提供されたクライアント用のデータベースを作成し、クライアントの元のデータベースインスタンスと同じであることを避けたい場合に使用します。
496 497 498 499 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は496行 デフォルト 自己.create(クライアント) database = Database.新着情報(クライアント, クライアント.[:database], クライアント.) クライアント.instance_variable_set(:@database, database) end |
インスタンス メソッドの詳細
# == (その他) === (その他) ==================================================================================
データベース オブジェクトが別のオブジェクトと等価であることを確認します。 名前が同じであるかどうかのみを確認します。
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: コレクションとも呼ばれます
指定された名前でこのデータベース内のコレクションを取得します。
110 111 112 113 114 115 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は110行 デフォルト [](collection_name, = {}) 場合 [:server_api] 発生 ArgumentError, コレクション オブジェクトには、 : server_apiオプションは指定できません。クライアント レベルでのみ指定できます。 end コレクション.新着情報(自己, collection_name, ) end |
#集計(パイプライン、オプション = {}) = Collection::View::Aggregation
データベースで集計を実行します。
403 404 405 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は403行 デフォルト 集計(パイプライン, = {}) ビュー.新着情報(自己).集計(パイプライン, ) end |
#cluster ⇒ Mongo::Server
クラスターからプライマリ サーバーを取得します。
80 81 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は80行 def_delegator :cluster, :next_primary |
# collection_names (オプション = {})= Array[String ]<String>
返されるコレクション名のセットは、リクエストを満たす MongoDB サーバーのバージョンによって異なります。
データベース内の非システム コレクションのすべての名前を取得します。
138 139 140 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は138行 デフォルト collection_names( = {}) ビュー.新着情報(自己).collection_names() end |
コレクションの数(オプション = {})= Array< Mongo::Collection >
返されるコレクションのセットは、リクエストを満たす MongoDB サーバーのバージョンによって異なります。
このデータベースに属するすべての非システム コレクションを取得します。
191 192 193 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は191行 デフォルト collections( = {}) collection_names().map { |name| コレクション(name) } end |
#コマンド(操作、opts = {}) = Mongo::Operation::Result
データベースで コマンドを実行します。
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 (オプション = {}) =結果
データベースとそれに関連するすべての情報を削除します。
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( = {}) 操作 = { :dropDatabase => 1 } クライアント.送信(:with_session, ) 行う |セッション| write_concern = 場合 [:write_concern] WriteConcern.得る([: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 「ファイルシステム」 を取得します。
358 359 360 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は358行 デフォルト fs( = {}) グリッド::FS バケット.新着情報(自己, ) end |
詳しくは、 を 検査しstring ます
データベースのpretty-printed string 検査を取得します。
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 サーバーのバージョンによって異なります。
データベース内のすべての非システム コレクションに関する情報を取得します。
167 168 169 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は167行 デフォルト list_collections( = {}) ビュー.新着情報(自己).list_collections() end |
# read_command (操作, opts = {{}) =ハッシュ
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
データベースで読み取りコマンドを実行し、必要に応じて読み取りを再試行します。
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 |
ユーザー数~表示::ユーザー
このデータベースのユーザー ビューを取得します。
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以降、このステージでは、クライアントのデータベースで発生するすべての変更に対して通知が送信されるようリクエストできます。
472 473 474 475 476 477 478 479 480 481 |
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/database.rb' の場合は472行 デフォルト 監視(パイプライン = [], = {}) = .dup [:await_data] = true 場合 [:max_await_time_ms] mongo::コレクション::ビュー::ChangeStream.新着情報( mongo::コレクション::ビュー.新着情報(コレクション(" #{ COMMAND } .aggregate "), {}, ), パイプライン, mongo::コレクション::ビュー::ChangeStream::DATABASE, ) end |