クラス: Mongo::Grid::FSBbucket::Stream::Write

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
build/ruby-Driver-v 2.19 /lib/mongo/ Grid/stream/write.rb

Overview

FS バケットにファイルを書込むストリーム。

以来

  • 2.1.0

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

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

コンストラクターの詳細

#初期化(fs, オプション) =書込み

FS バケットにファイルを書き込むためのストリームを作成します。

例:

ストリームを作成します。

Stream::Write.new(fs, options)

パラメーター:

  • fs FS バケット

    GridFS バケット オブジェクト。

  • options ハッシュ

    書込みストリーム オプション。

  • ops ハッシュ

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

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

  • :file_id オブジェクト

    ファイル ID。 ファイル ID が指定されていない場合は、ObjectId が生成されます。

  • :write ハッシュ

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

  • :write_concern ハッシュ

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

以来

  • 2.1.0



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', 行70

デフォルト 初期化(fs, options)
  @fs = fs
  @Length = 0
  @n = 0
  @file_id = options[:file_id] || BSON::ObjectId.新着情報
  @options = options.dup
=開始 WriteConcern オブジェクト サポート
  の場合 @options[:write_concern].is_a?(WriteConcern::Base)
    # インスタンスをキャッシュして、不必要に再構築されないようにします。
    @write_concern = @options[:write_concern]
    @options[:write_concern] = @write_concern.options
  end
=end
  @options.freeze
  @filename = @options[:filename]
  @open = true
end

インスタンス属性の詳細

# file_id =オブジェクト(読み取り専用)

アップロードされるファイルのIDを返します。

次の値を返します。

  • オブジェクト

    file_id アップロードされるファイルの ID。

以来

  • 2.1.0



36
37
38
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', 行36

デフォルト file_id
  @file_id
end

#ファイル名= string (読み取り専用)

アップロードされるファイルの名前を返します。

次の値を返します。

  • ( string )

    filename アップロードされるファイルの名前。

以来

  • 2.1.0



41
42
43
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', 行41

デフォルト ファイル名
  @filename
end

# fsFSbucket (読み取り専用)

fs このストリームが書き込む fs バケットを返します。

次の値を返します。

  • FS バケット

    fs このストリームが書き込む fs バケット。

以来

  • 2.1.0



31
32
33
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', 行31

デフォルト fs
  @fs
end

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

オプション 書込みストリーム オプション。

次の値を返します。

  • ハッシュ

    options 書込みストリーム オプション。

以来

  • 2.1.0



46
47
48
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', 行46

デフォルト options
  @options
end

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

#aborttrue

すでに挿入されているすべてのチャンクを削除して、アップロードを中止します。

例:

書込み (write) 操作を中止します。

stream.abort

次の値を返します。

  • ( true )

    操作が中止され、ストリームが閉じられた場合は true 。

以来

  • 2.1.0



168
169
170
171
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', 行168

デフォルト 中止
  fs.chunks_collection.find({ :files_id => file_id }, @options).delete_many
  (@open = false) || true
end

#閉じる= BSON::ObjectIdオブジェクト

書込みストリームを閉じます。

例:

ストリームを閉じます。

stream.close

次の値を返します。

  • BSON::ObjectIdObject

    ファイル ID。

次の値が発生します。

以来

  • 2.1.0



124
125
126
127
128
129
130
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', 行124

デフォルト 閉じる
  concern_open.
  update_Length
  ファイル_コレクション.insert_one(file_info, @options)
  @open = false
  file_id
end

#閉じました= truefalse

ストリームが閉じられているかどうか。

例:

ストリームが閉じられているかどうか。

stream.closed?

次の値を返します。

  • truefalse

    ストリームが閉じているかどうか。

以来

  • 2.1.0



156
157
158
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', 行156

デフォルト 閉じましたか
  !@open
end

書込み ( write ) (io) =ストリーム::書込み (write)

ソース ストリームまたは string から GridFS バケットに書き込みます。

例:

GridFS への書込み (write)。

stream.write(io)

パラメーター:

  • io ( string | IO )

    アップロード元の string または IO オブジェクト。

次の値を返します。

以来

  • 2.1.0



98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', 行98

デフォルト 書込み (write)(io)
  concern_open.
  @indexes ||= ensure_indexes!
  @Length += 場合 io.respond_to?(:bytesize)
    stringオブジェクト数
    io.bytesize
  else
    # IO オブジェクト
    io.サイズ
  end
  チャンク = ファイル::チャンク.分裂(io, file_info, @n)
  @n += チャンク.サイズ
  chunks_collection.insert_many(チャンク) ただし、 チャンク.空の場合
  自己
end

#write_concern = Mongo::WriteConcern

アップロード時に使用される書込み保証 (write concern) を取得します。

例:

書込み保証 (write concern) を取得します。

stream.write_concern

次の値を返します。

以来

  • 2.1.0



140
141
142
143
144
145
146
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', 行140

デフォルト write_concern
  @write_concern ||= 場合 wco = @options[:write_concern] || @options[:write]
    WriteConcern.得る(wco)
  else
    fs.write_concern
  end
end