クラス: Mongo::Grid::FSBbucket::Stream::Read
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Grid::FSバケット::Stream::Read
- 次のことが含まれます。
- Enumerable
- 定義:
- build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/read.rb
Overview
FS バケットからファイルを読み取るストリーム。
インスタンス属性の概要を折りたたむ
-
#file_id ⇒ BSON::ObjectId, Object
readOnly
ファイル_id 読み取られているファイルの ID。
-
#fs ⇒ FSBucket
readOnly
Fs このストリームが読み取る fs バケット。
-
#options ⇒ Hash
readOnly
オプション ストリーム オプション。
インスタンス メソッドの概要を折りたたむ
-
#閉じる= BSON::ObjectId, オブジェクト
読み取りストリームを閉じます。
-
#閉じました= true、false
ストリームが閉じられているかどうか。
-
各{|Each| ... } = 列挙型
FS バケットからストリームされたチャンク データを反復処理します。
-
#file_info ⇒ File::Info
読み取られているファイルのファイル コレクション ファイル情報ドキュメントを取得します。
-
#初期化(fs, オプション) = 読み取り
コンストラクター
FS バケットからファイルを読み取るためのストリームを作成します。
-
#read = string
すべてのファイル データを読み取ります。
-
#read_preference = BSON::Document
読み込み設定 (read preference) を取得します。
コンストラクターの詳細
#初期化(fs, オプション) =読み取り
FS バケットからファイルを読み取るためのストリームを作成します。
56 57 58 59 60 61 62 |
ファイル ' build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/read.rb ', 行56 デフォルト 初期化(fs, ) @fs = fs @options = .dup @file_id = @options.削除(:file_id) @options.freeze @open = true end |
インスタンス属性の詳細
file_id = BSON #::ObjectId 、オブジェクト(読み取り専用)
読み取られているファイルのIDを返します。
42 43 44 |
ファイル ' build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/read.rb ', 行42 デフォルト file_id @file_id end |
# fs → FSbucket (読み取り専用)
fs このストリームが読み取る fs バケットを返します。
32 33 34 |
ファイル ' build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/read.rb ', 行32 デフォルト fs @fs end |
オプション=ハッシュ(読み取り専用)
オプション ストリーム オプションを返します。
37 38 39 |
ファイル ' build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/read.rb ', 行37 デフォルト @options end |
インスタンス メソッドの詳細
#閉じる= BSON::ObjectId 、オブジェクト
読み取りストリームを閉じます。
ストリームがすでに閉じられている場合、このメソッドは何も実行しません。
125 126 127 128 129 130 131 |
ファイル ' build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/read.rb ', 行125 デフォルト 閉じる 場合 @open 表示.close_query @open = false end file_id end |
#閉じました= true 、 false
ストリームが閉じられているかどうか。
141 142 143 |
ファイル ' build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/read.rb ', 行141 デフォルト 閉じましたか !@open end |
各{|Each| ... } =列挙型
FS バケットからストリームされたチャンク データを反復処理します。
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
ファイル ' build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/read.rb ', 行78 デフォルト 各 concern_readable. info = file_info num_chunks = (info.Length + info.chunk_size - 1) / info.chunk_size num_read = 0 場合 ブロック_指定 表示.each_with_index.reduce(0) 行う |long_read, (doc, index)| チャンク = グリッド::ファイル::チャンク.新着情報(doc) validate!(index, num_chunks, チャンク, long_read) データ = チャンク.データ.データ ノードの数 データ num_read += 1 long_read += データ.サイズ end.タップ 行う 場合 num_read < num_chunks 発生 エラー::欠落ファイルチャンク.新着情報(num_chunks, num_read) end end else 表示.to_enum end end |
#file_info ⇒ File::Info
ファイル情報はストリームにキャッシュされます。 Subsequent calls to file_info will return the same information that the first call returned, and will not query the database again.
読み取られているファイルのファイル コレクション ファイル情報ドキュメントを取得します。
179 180 181 182 183 184 185 186 187 188 |
ファイル ' build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/read.rb ', 行179 デフォルト file_info @file_info ||= begin doc = [:file_info_doc] || fs.ファイル_コレクション.find(_id: file_id).最初に 場合 doc ファイル::info.新着情報(オプション::マッパー.transform(doc, ファイル::info::mappings.invert)) else nil end end end |
#read = string
すべてのファイル データを読み取ります。
111 112 113 |
ファイル ' build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/read.rb ', 行111 デフォルト 読み取り to_a.join end |
#read_preference = BSON::Document
このメソッドは常に BSON::Document インスタンスを返します。ただし、コンストラクターが :read の型を BSON::Document ではなくハッシュとして指定しているにもかかわらずです。
読み込み設定 (read preference) を取得します。
158 159 160 161 162 163 164 165 166 167 |
ファイル ' build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/read.rb ', 行158 デフォルト read_preference @read_preference ||= begin pref = [:read] || fs.read_preference 場合 BSON::ドキュメント === pref pref else BSON::ドキュメント.新着情報(pref) end end end |