モジュール: Mongoid::CollectionConfigurable::Classメソッドs

定義:
lib/mongoid/collection_configurable.rb

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

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

# create_collection ( force: false) =オブジェクト

Mongoid モデルで呼び出される のコレクションを作成します。

このメソッドは、既存のコレクションを再作成しません。

documentに collection_options キーを持つ store_in マイクロが含まれている場合、これらのオプションはコレクションの作成時に使用されます。

パラメーター:

  • true | false (デフォルトはfalse

    true の場合、メソッドは新しいコレクションを作成する前に既存のコレクションを削除します。 false の場合、メソッドは新しいコレクション(データベースに存在しないコレクション)のみを作成します。

次の値が発生します。



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# ファイル 'lib/mongoid/collection_configurable.rb' は、 22行

デフォルト create_collection(強制します。 false)
  場合 collection_name.空の場合
    # これはほとんどが匿名クラスである可能性があり、無視します。
    return
  end
  場合 /^system\./.一致するかどうか(collection_name)
    # システム コレクションでは何も行いません。
    return
  end

  コレクション.drop 場合 
  場合 coll_options = コレクション.database.list_collections(フィルター: { name: collection_name.to_s }).最初に
    発生 Errors::DropCollectionFailure.新着情報(collection_name) 場合 

    logger.debug(
      " MONGOID: コレクション ' #{ collection_name }はすでに存在します" +
      " データベース " "
    )

  else
    begin
      コレクション.database[collection_name, storage_options.fetch(:collection_options, {})].create
    ヘルプ mongo::エラー::OperationFailure => e
      発生 Errors::CreateCollectionFailure.新着情報(
        collection_name,
        storage_options[:collection_options],
        e
      )
    end
  end
end