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

定義:
lib/mongoid/collection_configurable.rb

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

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

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

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

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

ドキュメントに `collection_options` キーを持つ `store_in` マニュアルが含まれている場合、

these options are used when creating the collection.

パラメーター:

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

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

次の値が発生します。



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
53
54
55
56
# ファイル 'lib/mongoid/collection_configurable.rb' は、 24行

デフォルト create_collection(強制します。 false)
  場合 collection_name.空の場合
    # これはほとんどが匿名クラスである可能性があり、無視します。
    return
  end
  場合 collection_name.一致(/^system\./)
    # システム コレクションでは何も行いません。
    return
  end
  場合 
    コレクション.drop
  end
  場合 coll_options = コレクション.database.list_collections(フィルター: { name: collection_name.to_s }).最初に
    場合 
      発生 Errors::DropCollectionFailure.新着情報(collection_name)
    else
      logger.debug(
        " MONGOID: コレクション ' #{ collection_name }はすでに存在します" +
        " データベース " "
      )
    end
  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