クラス: Mongo::Collection
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Collection
- 次による拡張機能。
- 転送可能
- 次のことが含まれます。
- ヘルパー、 QueryableEncryption 、再試行可能な
- 定義:
- lib/mongo/コレクション.rb
、lib/mongo/コレクション/view.rb、lib/mongo/コレクション/helpers.rb、lib/mongo/コレクション/view/iterable.rb、lib/mongo/コレクション/view/readable
rb、lib/mongo/コレクション/view/writable.rb、lib/mongo/コレクション/view/imutable.rb、lib/mongo/コレクション/view/map_reduce.rb、lib/mongo/コレクション/view/集計.rb、
lib/mongo/コレクション/view/explainable.rb、lib/mongo/コレクション/view/change_stream.rb、lib/mongo/コレクション/queryable_encryption.rb、lib/mongo/コレクション/view/Builder/map_reduce.rb、lib/
mongo/
コレクション/view/Builder/
集計.rb、lib/mongo/コレクション/view/ 集計/behavior.rb、lib/mongo/コレクション/view/change_stream/retryable.rb
Overview
データベース内のコレクションと、そのコレクションに直接適用できる操作を表します。
名前空間で定義済み
Modules: ヘルパー、 QueryableEncryptionクラス:ビュー
定数の概要の削減
- CAPED =
Capped オプション。
上限 付き.freeze
- ns =
ns フィールド定数。
'ns'.freeze
- CHANGEABLE_OPTIONS =
新しいコレクションインスタンスで#withメソッドを使用して更新できるオプション。
[ :read, :read_concern, :write, :write_concern ].freeze
- CREATE_COLLECTION_OPTIONS =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
オプションは、コレクション作成オプションを変換するにマップします。
{ :time_series => :timeseries, :expire_ after => :expireAfterSeconds, :clustered_index => :clusteredIndex, :change_stream_pre_and_post_images => :changeStreamPreAndPostImages, :encrypted_fields => :encryptedFields, :validator => :validator, :view_on => :viewOn }
QueryableEncryptionから含まれる定数
QueryableEncryption::QE 2 _MIN_WIRE_VERSION
インスタンス属性の概要を折りたたむ
-
#database ⇒ Mongo::Database
readOnly
コレクションが存在するデータベース。
-
#name = string
readOnly
コレクションの名前。
-
#options ⇒ Hash
readOnly
コレクションオプション
インスタンス メソッドの概要を折りたたむ
-
# == (その他) ==(その他) ========= ================================================================== false
コレクションが別のオブジェクトと等しいかどうかを確認します。
-
#集計(パイプライン、オプション = {{}) → View::Aggregation
コレクションに対して集計を実行します。
-
# bulk_write (リクエスト、オプション = {}) = BulkWrite::Result
一括書き込み操作のバッチを実行します。
-
上限付きか。 = true | false
コレクションは上限付きか?
-
カウント(フィルター = nil、オプション = {}) = 整数
非推奨
非推奨。
代わりに #count_documents またはestimate_document_count_count を使用してください。 ただし、#count_documents に切り替えるときに次の演算子を置き換える必要があることに注意してください。
* $where should be replaced with $expr (only works on 3.6+) * $near should be replaced with $geoWithin with $center * $nearSphere should be replaced with $geoWithin with $centerSphere
-
count_documents (フィルター = {}、オプション = {}) = 整数
クエリに一致するドキュメントの数を取得します。
-
#create (opts = {{}) = 結果
データベースにコレクションを強制的に作成します。
-
# delete_many (フィルター = nil、オプション = {}) = 結果
コレクションからドキュメントを削除します。
-
# delete_one (フィルター = nil、オプション = {}) = 結果
コレクションからドキュメントを削除します。
-
個別の数(フィールド名、フィルター = nil、オプション = {{}) = 配列 <Object>
特定のフィールドの個別の値のリストを取得します。
-
#drop (ops = {}) = 結果
コレクションを削除します。
-
#estimate_document_count (オプション = {}) = 整数
コレクションのメタデータを使用して、コレクション内のドキュメント数の推定値を取得します。
-
# find (フィルター = nil、オプション = {}) = CollectionView
コレクション内のドキュメントを検索します。
-
# find_one_and_delete (フィルター、オプション = {}) = BSON::Document ?
findAndModify 経由でデータベース内の単一のドキュメントを検索し、削除し、元のドキュメントを返します。
-
# find_one_and_replace (フィルター、置換、オプション = {}) = BSON::Document
1 つのドキュメントを検索して置き換え、特に指定されていない限り、元のドキュメントを返します。
-
#find_one_and_update(filter, update, options = {}) ⇒ BSON::Document
findAndModify 経由で単一のドキュメントを検索し、そのドキュメントを更新すると、特に指定されていない限り、元のドキュメントを返します。
-
#indexes(options = {}) ⇒ Index::View
このコレクションのすべてのインデックスのビューを取得します。
-
#初期化(データベース、名前、オプション = {}) = コレクション = コレクション
コンストラクター
新しい コレクションをインスタンス化します。
-
# insert_many (ドキュメント、オプション = {}) = 結果
提供されたドキュメントを コレクションに挿入します。
-
# insert_one (ドキュメント、opts = {}) = 結果
コレクションに単一のドキュメントを挿入します。
-
詳しくは、 を 検査し ますstring
コレクションのpretty-printed string 検査を取得します。
-
#名前空間= string
コレクションの完全修飾名前空間を取得します。
-
# operation_timeouts(opts = {}) = ハッシュ
private
操作レベルで設定されている Timeout_ms 値(存在する場合)、および/またはコレクション/データベース/クライアントレベルで設定されている timeout_ms 値(存在する場合)。
-
# parallel_scan (cursor_count、オプション = {})= Array=========================================================<Cursor>
コレクション ビューで並列スキャンを実行します。
-
#read_concern =ハッシュ
このコレクション インスタンスの有効な読み取り保証を取得します。
-
# read_preference =ハッシュ
このコレクションの有効な 読み込み設定(read preference) を取得します。
-
# replace_one (フィルター, 置換, オプション = {}) = 結果
コレクション内の単一のドキュメントを新しいドキュメントに置き換えます。
-
Search_indexs(オプション = {})= SearchIndex::View
このコレクションのすべての検索インデックスのビューを取得します。
-
# server_selector = Mongo::ServerSelector
このコレクションのサーバー セレクターを取得します。
-
システム_コレクション? = ブール値
private
コレクションがシステム コレクションであるかどうか。
-
#timeout_ms ⇒ Integer | nil
private
このデータベースでは 、または対応するクライアントでは である操作タイムアウト。
-
#update_many(filter, update, options = {}) ⇒ Result
コレクション内のドキュメントを更新します。
-
#update_one(filter, update, options = {}) ⇒ Result
コレクション内の 1 つのドキュメントを更新します。
-
多数表示(パイプライン = []、オプション = {}) = ChangeStream
MongoDB サーバーのバージョン3.6以降、$changeStream" パイプライン ステージは集計フレームワークでサポートされています。
-
(new_options)を使用した# Mongo::Collection
新しい コレクション インスタンス。
-
#write_concern = Mongo::WriteConcern
このコレクションの有効な書込み保証 (write concern) を取得します。
-
#write_concern_with_session (セッション)=Mongo::WriteConcern
private
このコレクションに対する操作に使用する書込み保証 (write concern) を取得します(セッションが指定された場合)。
ヘルパーに含まれるメソッド
QueryableEncryptionに含まれるメソッド
#maybe_create_qe_collections 、 #maybe_drop_emm_collections
再試行可能な に含まれるメソッド
#read_worker 、 #select_server 、 #write_worker
コンストラクターの詳細
#初期化(データベース、名前、オプション = {}) = コレクション =コレクション
新しい コレクションをインスタンス化します。
162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# ファイル 'lib/mongo/ コレクション' は、162 行 デフォルト 初期化(database, name, = {}) 発生 エラー::InvalidCollectionName.新着情報 ただし、 name 場合 [:write] & & [:write_concern] & & [:write] != [:write_concern] 発生 ArgumentError, " :write と :write_concern の両方が指定されている場合、それらは同一である必要があります。 #{ . explain } " end @database = database @name = name.to_s.freeze @options = .dup @timeout_ms = .削除(:timeout_ms) =開始 WriteConcern オブジェクト サポート の場合 @options[:write_concern].is_a?(WriteConcern::Base) # インスタンスをキャッシュして、不必要に再構築されないようにします。 @write_concern = @options[:write_concern] @options[:write_concern] = @write_concern.options end =end @options.freeze end |
インスタンス属性の詳細
#database ⇒ Mongo::Database (readonly)
コレクションが存在するデータベースを返します。
46 47 48 |
# ファイル 'lib/mongo/ コレクション' は、46 行 デフォルト database @database end |
# name = string (読み取り専用)
コレクションの名前を返します。
49 50 51 |
# ファイル 'lib/mongo/ コレクション' は、49 行 デフォルト name @name end |
オプション=ハッシュ(読み取り専用)
コレクションオプションを返します。
52 53 54 |
# ファイル 'lib/mongo/ コレクション' は、52 行 デフォルト @options end |
インスタンス メソッドの詳細
# == (その他) ==(その他) ========= ================================================================== false
コレクションが別のオブジェクトと等しいかどうかを確認します。 名前とデータベースが等価であるかどうかを確認します。
89 90 91 92 |
# ファイル 'lib/mongo/ コレクション' は、89 行 デフォルト ==(その他) return false ただし、 その他.is_a?(コレクション) name == その他.name & & database == その他.database & & == その他. end |
#集計(パイプライン、オプション = {{}) → View::Aggregation
コレクションに対して集計を実行します。
568 569 570 |
# ファイル 'lib/mongo/ コレクション' は、568 行 デフォルト 集計(パイプライン, = {}) ビュー.新着情報(自己, {}, ).集計(パイプライン, ) end |
# bulk_write (リクエスト、オプション = {}) = BulkWrite::Result
一括書き込み操作のバッチを実行します。
942 943 944 |
# ファイル 'lib/mongo/ コレクション' は、942 行 デフォルト bulk_write(リクエスト, = {}) 一括書込み (write).新着情報(自己, リクエスト, ).実行する end |
上限付きか。 = true | false
コレクションは上限付きか?
321 322 323 324 325 |
# ファイル 'lib/mongo/ コレクション' は、321 行 デフォルト 上限付きか database.list_collections(フィルター: { name: name }) .最初に &.dig('options', CAPED) || false end |
カウント(フィルター = nil、オプション = {}) =整数
代わりに #count_documents またはestimate_document_count_count を使用してください。 ただし、#count_documents に切り替えるときに次の演算子を置き換える必要があることに注意してください。
* $where should be replaced with $expr (only works on 3.6+)
* $near should be replaced with $geoWithin with $center
* $nearSphere should be replaced with $geoWithin with $centerSphere
コレクション内の一致するドキュメントの推定数を取得します。
685 686 687 |
# ファイル 'lib/mongo/ コレクション' は、685 行 デフォルト count(フィルター = nil, = {}) ビュー.新着情報(自己, フィルター || {}, ).count() end |
count_documents (フィルター = {}、オプション = {}) =整数
クエリに一致するドキュメントの数を取得します。 非推奨の カウント メソッドとは異なり、推定値ではなく、フィルターに一致するドキュメントの正確な数(またはフィルターが提供されていない場合は、コレクション内のドキュメントの正確な数)が返されます。
#estimated_document_count を使用して、コレクションのメタデータを使用して、コレクション内のドキュメント数の推定値を取得します。
719 720 721 |
# ファイル 'lib/mongo/ コレクション' は、719 行 デフォルト count_documents(フィルター = {}, = {}) ビュー.新着情報(自己, フィルター, ).count_documents() end |
#create (opts = {{}) =結果
データベースにコレクションを強制的に作成します。
382 383 384 385 386 387 388 389 390 391 392 393 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 421 422 423 424 425 426 427 428 429 430 |
# ファイル 'lib/mongo/ コレクション' は、382 行 デフォルト create(ops = {}) # 読み取りオプションを渡してコマンドを作成すると、コマンドが中断されます。 # 読み取りオプションをフィルタリングで除外します。 セッションもここでは除外されます は with_session の呼び出しで使用され、次の一部ではない必要があります # 操作。 操作に渡されると、BSON は失敗します # シリアル化。 TODO は、次の場合に読み取りオプションのリストをクラスレベルの定数に配置します # では、それらの完全なセットが何であるかがわかります。 = ハッシュ[自己..merge(ops).拒否 行う |キー, 価値| %w(読み取り read_preference read_concern セッション).include?(キー.to_s) end] Ruby オプションをサーバー スタイルに変換する。 CREATE_COLLECTION_OPTIONS.各 行う |Ruby_key, server_key| 場合 .key?(Ruby_key) [server_key] = .削除(Ruby_key) end end 操作 = { :create => name }.merge() 操作.削除(:write) 操作.削除(:write_concern) クライアント.送信(:with_session, ops) 行う |セッション| write_concern = 場合 ops[:write_concern] WriteConcern.得る(ops[:write_concern]) else 自己.write_concern end context = 操作::Context.新着情報( クライアント: クライアント, セッション: セッション ) Max_create_qe_collections(ops[:encrypted_fields], クライアント, セッション) 行う |encryption_fields| 操作::作成.新着情報( セレクター: 操作, db_name: database.name, write_concern: write_concern, セッション: セッション, # これらはコレクション オプションであり、照合は次ではないことに注意してください: create メソッドに渡されるオプションから取得された#。 collation: [:collation] || [「照合」], encryption_fields: encryption_fields, validator: [:validator], ).実行する( next_primary(nil, セッション), context: context ) end end end |
# delete_many (フィルター = nil、オプション = {}) =結果
コレクションからドキュメントを削除します。
994 995 996 |
# ファイル 'lib/mongo/ コレクション' は、994 行 デフォルト delete_many(フィルター = nil, = {}) find(フィルター, ).delete_many() end |
# delete_one (フィルター = nil、オプション = {}) =結果
コレクションからドキュメントを削除します。
968 969 970 |
# ファイル 'lib/mongo/ コレクション' は、968 行 デフォルト delete_one(フィルター = nil, = {}) find(フィルター, ).delete_one() end |
個別の数(フィールド名、フィルター = nil、オプション = {{}) =配列 <Object>
特定のフィールドの個別の値のリストを取得します。
771 772 773 |
# ファイル 'lib/mongo/ コレクション' は、771 行 デフォルト distinct(field_name, フィルター = nil, = {}) ビュー.新着情報(自己, フィルター || {}, ).distinct(field_name, ) end |
#drop (ops = {}) =結果
コレクションが存在しない場合に返されるエラーは非表示になります。
コレクションを削除します。 また、コレクションに関連付けられているすべてのインデックスと、関連付けられているQueryable Encryptionコレクションも削除されます。
454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 |
# ファイル 'lib/mongo/ コレクション' は、454 行 デフォルト drop(ops = {}) クライアント.with_session(ops) 行う |セッション| Max_drop_em_collections(ops[:encrypted_fields], クライアント, セッション) 行う temp_write_concern = write_concern write_concern = 場合 ops[:write_concern] WriteConcern.得る(ops[:write_concern]) else temp_write_concern end context = 操作::Context.新着情報( クライアント: クライアント, セッション: セッション, operation_timeouts: operation_timeouts(ops) ) 操作 = 操作::drop.新着情報({ セレクター: { :drop => name }, db_name: database.name, write_concern: write_concern, セッション: セッション, }) do_drop(操作, セッション, context) end end end |
#estimate_document_count (オプション = {}) =整数
コレクションのメタデータを使用して、コレクション内のドキュメント数の推定値を取得します。
コレクション内のドキュメントの正確な数を取得するには、#count_documents を使用するか、フィルターに一致するドキュメントをカウントするには、 #count_documents
744 745 746 |
# ファイル 'lib/mongo/ コレクション' は、744 行 デフォルト Estimated_document_count( = {}) ビュー.新着情報(自己, {}, ).Estimated_document_count() end |
# find (フィルター = nil、オプション = {}) = CollectionView
コレクション内のドキュメントを検索します。
532 533 534 |
# ファイル 'lib/mongo/ コレクション' は、532 行 デフォルト find(フィルター = nil, = {}) ビュー.新着情報(自己, フィルター || {}, ) end |
# find_one_and_delete (フィルター、オプション = {}) = BSON::Document ?
findAndModify 経由でデータベース内の単一のドキュメントを検索し、削除し、元のドキュメントを返します。
1157 1158 1159 |
# ファイル 'lib/mongo/ コレクション' は、1157 行 デフォルト find_one_and_delete(フィルター, = {}) find(フィルター, ).find_one_and_delete() end |
# find_one_and_replace (フィルター、置換、オプション = {}) = BSON::Document
1 つのドキュメントを検索して置き換え、特に指定されていない限り、元のドキュメントを返します。
1243 1244 1245 |
# ファイル 'lib/mongo/ コレクション' は、1243 行 デフォルト find_one_and_replace(フィルター, replacement, = {}) find(フィルター, ).find_one_and_update(replacement, ) end |
#find_one_and_update(filter, update, options = {}) ⇒ BSON::Document
findAndModify 経由で単一のドキュメントを検索し、そのドキュメントを更新すると、特に指定されていない限り、元のドキュメントを返します。
1201 1202 1203 |
# ファイル 'lib/mongo/ コレクション' は、1201 行 デフォルト find_one_and_update(フィルター, update, = {}) find(フィルター, ).find_one_and_update(update, ) end |
#indexes(options = {}) ⇒ Index::View
このコレクションのすべてのインデックスのビューを取得します。 反復処理できる、またはより多くの操作があります。
788 789 790 |
# ファイル 'lib/mongo/ コレクション' は、788 行 デフォルト indexes( = {}) Index::ビュー.新着情報(自己, ) end |
# insert_many (ドキュメント、オプション = {}) =結果
提供されたドキュメントを コレクションに挿入します。
910 911 912 913 914 915 |
# ファイル 'lib/mongo/ コレクション' は、910 行 デフォルト insert_many(ドキュメント, = {}) クエリ キャッシュ.clear_namespace(namespace) inserts = ドキュメント.map{ |doc| { :insert_one => doc }} bulk_write(inserts, ) end |
# insert_one (ドキュメント、opts = {}) =結果
コレクションに単一のドキュメントを挿入します。
849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 |
# ファイル 'lib/mongo/ コレクション' は、849 行 デフォルト insert_one(ドキュメント, ops = {}) クエリ キャッシュ.clear_namespace(namespace) クライアント.with_session(ops) 行う |セッション| write_concern = 場合 ops[:write_concern] WriteConcern.得る(ops[:write_concern]) else write_concern_with_session(セッション) end 場合 ドキュメント.nil? 発生 ArgumentError, "挿入するドキュメントは nil にできません" end context = 操作::Context.新着情報( クライアント: クライアント, セッション: セッション, operation_timeouts: operation_timeouts(ops) ) write_with_retry(write_concern, context: context) 行う |接続, txn_num, context| 操作::Insert.新着情報( :documents => [ ドキュメント ], :db_name => database.name, :coll_name => name, :write_concern => write_concern, :bypass_document_validation => !!ops[:bypass_document_validation], :options => ops, :id_genator => クライアント.[:id_genator], :session => セッション, :txn_num => txn_num, :comment => ops[:comment] ).execution_with_ connection(接続, context: context) end end end |
詳しくは、 を 検査しstring ます
コレクションのpretty-printed string 検査を取得します。
822 823 824 |
# ファイル 'lib/mongo/ コレクション' は、822 行 デフォルト 検査する " #< Mongo::Collection: 0 x #{ object_id } namespace= #{ namespace } > " end |
#名前空間= string
コレクションの完全修飾名前空間を取得します。
1255 1256 1257 |
# ファイル 'lib/mongo/ コレクション' は、1255 行 デフォルト namespace " #{データベース.名前} . #{名前} " end |
# operation_timeouts(opts = {}) = ハッシュ
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
操作レベルで設定されている timeout_ms 値(存在する場合)、および/またはコレクション/データベース/クライアントレベルで設定されている timeout_ms 値(存在する場合)を返します。
1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 |
# ファイル 'lib/mongo/ コレクション' は、1280 行 デフォルト 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 |
# parallel_scan (cursor_count、オプション = {{})= Array ========================================================
コレクション ビューで並列スキャンを実行します。
同時に反復処理できる最大 cursor_count カーソルのリストを返します。 スキャン中にコレクションが変更されていない限り、各ドキュメントはカーソルの結果セットのいずれかに 1 回表示されます。
1025 1026 1027 |
# ファイル 'lib/mongo/ コレクション' は、1025 行 デフォルト parallel_scan(cursor_count, = {}) find({}, ).parallel_scan(cursor_count, ) end |
#read_concern =ハッシュ
このコレクション インスタンスの有効な読み取り保証を取得します。
コレクション オプションで読み取り保証 (read concern) が指定されている場合は、その読み取り保証 (read concern) が返されます。それ以外の場合は、データベースの有効な読み取り保証 (read concern) が返されます。
193 194 195 |
# ファイル 'lib/mongo/ コレクション' は、193 行 デフォルト read_concern [:read_concern] || database.read_concern end |
# read_preference =ハッシュ
このコレクションの有効な 読み込み設定(read preference) を取得します。
コレクション オプションで読み込み設定(read preference)が指定されている場合は、その読み込み設定(read preference)が返されます。それ以外の場合は、データベースの有効な読み込み設定(read preference)が返されます。
221 222 223 |
# ファイル 'lib/mongo/ コレクション' は、221 行 デフォルト read_preference @read_preference ||= [:read] || database.read_preference end |
# replace_one (フィルター, 置換, オプション = {}) =結果
コレクション内の単一のドキュメントを新しいドキュメントに置き換えます。
1056 1057 1058 |
# ファイル 'lib/mongo/ コレクション' は、1056 行 デフォルト replace_one(フィルター, replacement, = {}) find(フィルター, ).replace_one(replacement, ) end |
Search_indexs(オプション = {})= SearchIndex::View
ID または名前のいずれか 1 つのみを指定できます。両方を指定するとエラーが発生しますが、両方を安全に省略できます。
このコレクションのすべての検索インデックスのビューを取得します。で反復処理または直接操作できます。 ID または名前が指定されている場合、イテレータは指定されたインデックスのみを返します。他のすべての操作では、id と名前は無視されます。
810 811 812 |
# ファイル 'lib/mongo/ コレクション' は、810 行 デフォルト search_indexes( = {}) SearchIndex::ビュー.新着情報(自己, ) end |
# server_selector = Mongo::ServerSelector
このコレクションのサーバー セレクターを取得します。
205 206 207 |
# ファイル 'lib/mongo/ コレクション' は、205 行 デフォルト server_selector @server_selector ||= ServerSelector.得る(read_preference || database.server_selector) end |
システム_コレクション? =ブール値
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
コレクションがシステム コレクションであるかどうか。
1264 1265 1266 |
# ファイル 'lib/mongo/ コレクション' は、1264 行 デフォルト system_collection? name.start_with?('システムです。 ') end |
#timeout_ms ⇒ Integer | nil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
このデータベースまたは対応するクライアントの操作タイムアウトを返します。
1272 1273 1274 |
# ファイル 'lib/mongo/ コレクション' は、1272 行 デフォルト timeout_ms @timeout_ms || database.timeout_ms end |
#update_many(filter, update, options = {}) ⇒ Result
コレクション内のドキュメントを更新します。
1089 1090 1091 |
# ファイル 'lib/mongo/ コレクション' は、1089 行 デフォルト update_many(フィルター, update, = {}) find(フィルター, ).update_many(update, ) end |
#update_one(filter, update, options = {}) ⇒ Result
コレクション内の 1 つのドキュメントを更新します。
1122 1123 1124 |
# ファイル 'lib/mongo/ コレクション' は、1122 行 デフォルト update_one(フィルター, update, = {}) find(フィルター, ).update_one(update, ) end |
多数表示 (パイプライン = []、オプション = {}) = ChangeStream
変更ストリームでは「majority」の読み取り保証のみが許可されます。
このヘルパー メソッドは、再開可能性をサポートするために、 $changeStream ステージで未加工の集計を実行するよりも推奨されます。
MongoDB サーバーのバージョン3.6以降、$changeStream" パイプライン ステージは集計フレームワークでサポートされています。 このステージでは、ユーザーは特定のコレクションに対するすべての変更に対して通知を送信するようリクエストできます。
646 647 648 649 650 |
# ファイル 'lib/mongo/ コレクション' は、646 行 デフォルト 監視(パイプライン = [], = {}) = .dup [: cursor_type] = :tailable_await 場合 [:max_await_time_ms] ビュー::ChangeStream.新着情報(ビュー.新着情報(自己, {}, ), パイプライン, nil, ) end |
(new_options)を使用した# Mongo::Collection
新しいコレクションインスタンスを返します。
299 300 301 302 303 304 305 306 307 308 309 310 311 |
# ファイル 'lib/mongo/ コレクション' は、299 行 デフォルト と共に() .キー.各 行う |k| 発生 エラー::UnchangeableCollectionOption.新着情報(k) ただし、 CHANGEABLE_OPTIONS.include?(k) end = @options.dup 場合 [:write] & & [:write_concern] .削除(:write) end 場合 [:write_concern] & & [:write] .削除(:write_concern) end コレクション.新着情報(database, name, .update()) end |
#write_concern = Mongo::WriteConcern
このコレクションの有効な書込み保証 (write concern) を取得します。
コレクション オプションで書込み保証 (write concern) が指定されている場合は、その書込み保証 (write concern) が返されます。それ以外の場合は、データベースの有効な書込み保証 (write concern) が返されます。
237 238 239 240 |
# ファイル 'lib/mongo/ コレクション' は、237 行 デフォルト write_concern @write_concern ||= WriteConcern.得る( [:write_concern] || [:write] || database.write_concern) end |
#write_concern_with_session (セッション)= Mongo::WriteConcern
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
このコレクションに対する操作に使用する書込み保証 (write concern) を取得します(セッションが指定された場合)。
セッションがトランザクション内にあり、コレクションに未確認の書込み保証 (write concern) がある場合は、書込み保証 (write concern) の :w オプションを削除します。 それ以外の場合は、変更されていない書込み保証を返します。
253 254 255 256 257 258 259 260 261 262 263 |
# ファイル 'lib/mongo/ コレクション' は、253 行 デフォルト write_concern_with_session(セッション) wc = write_concern 場合 セッション & & セッション.in_transaction? 場合 wc & & !wc.確認済み? ops = wc..dup ops.削除(:w) return WriteConcern.得る(ops) end end wc end |