モジュール: Mongoid::Criteria::Findable

次のドキュメントに含まれます。
Mongoid::Criteria
定義:
lib/mongoid/criteria/findable.rb

Overview

Mongoid::Criteria に含まれる混合モジュールで、 ID でドキュメントを検索する機能が追加されます。

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

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

# execution_or_ resume (ids、複数)==ドキュメント=============================配列 <ドキュメント>

条件を実行するか、ドキュメントが見つからない場合はエラーが発生します。

例:

または を実行する

criteria.execute_or_raise(id)

パラメーター:

  • ids オブジェクト

    引数が渡されました。

  • multi true | false

    引数がリストであったかどうか、および戻り値が配列であるかどうか。

次の値を返します。

次の値が発生します。



23
24
25
26
27
# ファイル 'lib/mongoid/criteria/findable.rb' は、 23行

デフォルト execution_or_ Ops Manager(ids, multi)
  結果 = multiple_from_db(ids)
  checkpoint_for_Missing_documents(結果, ids)
  multi ? 結果 : 結果.最初に
end

#find(*args) ⇒ Document | Array<Document>

注:

各引数は、個々の ID、ID の配列、またはネストされた配列にすることができます。 各配列はフラット化されます。

指定された ID の基準で一致するドキュメントを見つけます。

例:

ID で検索します。

criteria.find(BSON::ObjectId.new)

複数の ID で検索します。

criteria.find([ BSON::ObjectId.new, BSON::ObjectId.new ])

パラメーター:

  • *args [ オブジェクト | 配列 <Object> ]...

    検索対象の ID。

次の値を返します。



43
44
45
46
47
# ファイル 'lib/mongoid/criteria/findable.rb' は、 43行

デフォルト find(*args)
  ids = preserve_ids_for_find(args)
  raise_invalid 場合 ids.any?(&:nil?)
  for_ids(ids).execution_or_ Ops Manager(ids, multi_args?(args))
end

#for_ids(ids) ⇒ Criteria

一致する必要がある ID を指定する基準をCriteriaに追加します。

例:

単一の ID 条件を追加します。

criteria.for_ids([ 1 ])

複数の ID 条件を追加します。

criteria.for_ids([ 1, 2 ])

パラメーター:

  • ids 配列

    ID の配列。

次の値を返します。

  • 基準

    複製された基準。



60
61
62
63
64
65
66
67
# ファイル 'lib/mongoid/criteria/findable.rb' は、 60行

デフォルト for_ids(ids)
  ids = mongoize_ids(ids)
  場合 ids.サイズ > 1
    送信(id_finder, { _id: { " $in " => ids }})
  else
    送信(id_finder, { _id: ids.最初に })
  end
end

#multiple_from_db(ids) ⇒ Array<Document>

ID マップからドキュメントを取得し、見つからない場合はデータベースにヒットします。

例:

マップまたは条件からドキュメントを取得します。

criteria.multiple_from_map_or_db(ids)

パラメーター:

  • ids 配列<Object>

    検索された ID。

次の値を返します。



78
79
80
81
82
# ファイル 'lib/mongoid/criteria/findable.rb' は、 78行

デフォルト multiple_from_db(ids)
  return エントリ 場合 埋め込み
  ids = mongoize_ids(ids)
  ids.空の場合 ? [] : from_database(ids)
end