Method: Dynamoid::Criteria::Chain#first
- Defined in:
- lib/dynamoid/criteria/chain.rb
#first(*args) ⇒ Model|nil
Returns the first item matching the criteria.
Post.where(links_count: 2).first
Applies ‘record_limit(1)` to ensure only a single record is fetched when no non-key conditions are present and `scan_limit(1)` when no conditions are present at all.
If used without criteria it just returns the first item of some arbitrary order.
Post.first
190 191 192 193 194 195 196 197 |
# File 'lib/dynamoid/criteria/chain.rb', line 190 def first(*args) n = args.first || 1 return dup.scan_limit(n).to_a.first(*args) if @where_conditions.empty? return super if @key_fields_detector.non_key_present? dup.record_limit(n).to_a.first(*args) end |