클래스: Mongoid::Contextual::Memory
- 상속:
-
객체
- 객체
- Mongoid::Contextual::Memory
- 다음을 포함합니다.
- 열거형, 연관 관계::EagerLoadable, Aggregable::Memory, Queryable, 위치
- 다음에 정의됨:
- lib/mongoid/contextual/memory.rb
개요
애플리케이션 메모리에 로드된 문서에 대해 대량 쿼리 및 지속성 작업을 수행하는 데 사용되는 컨텍스트 객체 입니다. 이 클래스의 메서드 인터페이스는 Mongoid::Contextual::Mongo와 일관적인 합니다.
인스턴스 속성 요약 접기
-
문서 #개 ⇒ 객체
읽기 전용
속성 문서의 값을 반환합니다.
- #매칭 선택기와 일치하는 메모리 내 문서입니다.(The) ⇒ 객체 읽기 전용
-
#경로 ⇒ 객체
읽기 전용
속성 경로의 값을 반환합니다.
- #경로 원자 경로입니다.(Theatomicpath.) ⇒ 객체 읽기 전용
-
#루트 ⇒ 객체
읽기 전용
속성 루트의 값을 반환합니다.
- #root 루트 문서 입니다.(루트 문서.) ⇒ 객체 읽기 전용
-
#선택기 ⇒ 객체
읽기 전용
속성 선택기의 값을 반환합니다.
- #선택기 루트 문서 선택기입니다.(루트 문서 선택기.) ⇒ 객체 읽기 전용
Queryable에 포함된 속성
#collection, #collection 쿼리할 컬렉션입니다., #criteria, #criteria 컨텍스트에 대한 기준입니다., #klass, #klass 기준에 대한 klass입니다.
인스턴스 메서드 요약 접기
-
#==(기타) ⇒ true | false
컨텍스트가 다른 객체 와 동일한지 확인합니다.
-
#삭제 ⇒ nil (동의어: #delete_all)
데이터베이스에서 선택기와 일치하는 모든 문서를 삭제합니다.
-
#파괴 ⇒ nil (동의어: #destory_all)
데이터베이스 에서 선택기와 일치하는 모든 문서를 삭제합니다.
-
#distinct(field) ⇒ Array<Object>
제공된 필드 에 대해 db에서 고유 값을 가져옵니다.
-
#각각 ⇒ 열거자
컨텍스트를 반복합니다.
-
#존재합니까?(id_or_conditions = :none) ⇒ true | false
컨텍스트에 해당하는 문서가 있나요?
-
#다섯 번째 ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 다섯 번째 문서 를 가져옵니다.
-
#다섯 번째! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 다섯 번째 문서 를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
-
#first(limit = nil) ⇒ 문서 (동의어: #one, #find_first)
기준 선택기에 대한 데이터베이스 의 첫 번째 문서 를 가져옵니다.
-
#먼저! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 첫 번째 문서 를 가져오거나, 기준 선택기를 찾을 수 없는 경우 오류를 발생시킵니다.
-
#네 번째 ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 네 번째 문서 를 가져옵니다.
-
#네 번째! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 네 번째 문서 를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
-
#inc(incs) ⇒ Enumerator
모든 문서의 값을 증가시킵니다.
-
#초기화(기준) ⇒ 메모리
생성자
메모리 컨텍스트에서 새로운 항목을 생성합니다.
-
#last(limit = nil) ⇒ Document
기준 선택기에 대해 데이터베이스 의 마지막 문서 를 가져옵니다.
-
#last! ⇒ Document
기준 선택기에 대해 데이터베이스 에서 마지막 문서 를 가져오거나, 기준 선택기를 찾을 수 없는 경우 오류를 발생시킵니다.
-
#length ⇒ 정수 (동의어: #size)
컨텍스트에서 일치하는 문서의 길이를 가져옵니다.
-
#limit(value) ⇒ 메모리
반환되는 문서 수를 제한합니다.
-
#pick(*fields) ⇒ 객체 | Array<Object>
메모리에서 필드 값을 선택합니다.
-
#puck(*fields) ⇒ Array<Object> | Array<Array<Object>>
메모리에서 필드 값을 가져옵니다.
-
#초 ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 두 번째 문서 를 가져옵니다.
-
#초! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 두 번째 문서 를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
-
#second_to_last ⇒ 문서
기준 선택기에 대해 데이터베이스 의 마지막 문서 에서 두 번째 문서를 가져옵니다.
-
#second_to_last! ⇒ 문서
기준 선택기에 대해 데이터베이스 의 마지막 문서 에서 두 번째 문서를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
-
#skip(value) ⇒ 메모리
제공된 수의 문서를 건너뜁니다.
-
#sort(values) ⇒ Memory
제공된 사양에 따라 문서를 정렬합니다.
-
#take(limit = nil) ⇒ Document
데이터베이스에서 지정된 수의 문서를 가져옵니다.
-
#take! ⇒ Document
데이터베이스 에서 지정된 수의 문서를 가져오거나, 문서가 발견되지 않으면 오류를 발생시킵니다.
-
#tally(필드) ⇒ 해시
메모리의 필드 값을 집계합니다.
-
#세 번째 ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 세 번째 문서 를 가져옵니다.
-
#세 번째! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 세 번째 문서 를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
-
#Third_to_last ⇒ 문서
기준 선택기에 대해 데이터베이스 의 마지막 문서 에서 세 번째 문서를 가져옵니다.
-
#Third_to_last! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 마지막에서 세 번째 문서 를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
-
#update(attributes = nil) ⇒ nil | false
일치하는 첫 번째 문서 원자적으로 업데이트합니다.
-
#update_all(attributes = nil) ⇒ nil | false
일치하는 모든 문서를 원자적으로 업데이트합니다.
Positional에 포함된 메서드
Queryable에 포함된 메서드
연관 관계::EagerLoadable에 포함된 메서드
#eager_load, #eager_loadable?, #preload
Aggregable::Memory에 포함된 메서드
#aggregates, #avg, #max, #min, #sum
생성자 세부 정보
인스턴스 속성 세부 정보
문서 # 개 ⇒ 객체 (읽기 전용)
속성 문서의 값을 반환합니다.
25 26 27 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 25 def 문서 @documents end |
#매칭 선택기와 일치하는 메모리 내 문서입니다.(The) ⇒ 객체 (읽기 전용)
25 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 25 attr_reader :documents, :path, :root, :selector |
#경로 ⇒ 객체 (읽기 전용)
속성 경로의 값을 반환합니다.
25 26 27 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 25 def 경로 @path end |
#경로 원자 경로입니다.(Theatomicpath.) ⇒ 객체 (읽기 전용)
25 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 25 attr_reader :documents, :path, :root, :selector |
#루트 ⇒ 객체 (읽기 전용)
속성 루트의 값을 반환합니다.
25 26 27 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 25 def 루트 @root end |
#root 루트 문서 입니다.(루트 문서.) ⇒ 객체 (읽기 전용)
25 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 25 attr_reader :documents, :path, :root, :selector |
#선택기 ⇒ 객체 (읽기 전용)
속성 선택기의 값을 반환합니다.
25 26 27 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 25 def 선택기 @selector end |
#선택기 루트 문서 선택기입니다.(루트 문서 선택기.) ⇒ 객체 (읽기 전용)
25 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 25 attr_reader :documents, :path, :root, :selector |
인스턴스 메서드 세부 정보
#==(기타) ⇒ true | false
컨텍스트가 다른 객체 와 동일한지 확인합니다.
35 36 37 38 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 35 def ==(기타) 반환 거짓 하지 않는 한 기타.response_to?(:entries) 항목 == 기타.항목 end |
#delete ⇒ nil 또한 다음과 같습니다: delete_all
데이터베이스에서 선택기와 일치하는 모든 문서를 삭제합니다.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 46 def 삭제 Deleted = 카운트 제거됨 = map do |doc| prepare_remove(doc) doc.send(:as_attributes) end 하지 않는 한 제거됨.비어 있나요? 컬렉션.찾기(선택기).update_one( 위치적으로(선택기, "$pullAll" => { 경로 => 제거됨 }), 세션: _session ) end Deleted end |
#Destory ⇒ nil ~라고도 함: Destory_all
데이터베이스 에서 선택기와 일치하는 모든 문서를 삭제합니다.
68 69 70 71 72 73 74 75 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 68 def 파괴 Deleted = 카운트 각 do |doc| 문서.delete_one(doc) doc.파괴 end Deleted end |
#distinct(field) ⇒ Array<Object>
제공된 필드 에 대해 db에서 고유 값을 가져옵니다.
86 87 88 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 86 def 별개(필드) 뽑다(필드).uniq end |
#각각 ⇒ 열거자
컨텍스트를 반복합니다. 차단 이 제공되면 각각에 대해 Mongoid 문서 에 양보하고, 그렇지 않으면 열거형 을 반환합니다.
99 100 101 102 103 104 105 106 107 108 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 99 def 각 만약 block_given? documents_for_iteration.각 do |doc| yield(doc) end self other to_enum end end |
#존재합니까?(id_or_conditions = :none) ⇒ true | false
컨텍스트에 해당하는 문서가 있나요?
126 127 128 129 130 131 132 133 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 126 def 존재합니까?(id_or_conditions = : none) case id_or_conditions when : none then 어떤? when nil, 거짓 then 거짓 when 해시 then 메모리.신규(기준.위치(id_or_conditions)).존재합니까? other 메모리.신규(기준.위치(_id: id_or_conditions)).존재합니까? end end |
#다섯 번째 ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 다섯 번째 문서 를 가져옵니다.
454 455 456 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 454 def 다섯 번째 Eager_load([문서.다섯 번째]).first end |
#다섯 번째! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 다섯 번째 문서 를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
468 469 470 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 468 def 다섯 번째! 다섯 번째 || raise_document_not_Found_error end |
#first(limit = nil) ⇒ 문서 또한 다음과 같이 알려져 있습니다: one, find_first
기준 선택기에 대한 데이터베이스 의 첫 번째 문서 를 가져옵니다.
143 144 145 146 147 148 149 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 143 def first(limit = nil) 만약 limit Eager_load(문서.first(limit)) other Eager_load([문서.first]).first end end |
#먼저! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 첫 번째 문서 를 가져오거나, 기준 선택기를 찾을 수 없는 경우 오류를 발생시킵니다.
163 164 165 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 163 def 먼저! first || raise_document_not_Found_error end |
#네 번째 ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 네 번째 문서 를 가져옵니다.
430 431 432 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 430 def 네 번째 Eager_load([문서.네 번째]).first end |
#네 번째! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 네 번째 문서 를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
444 445 446 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 444 def 네 번째! 네 번째 || raise_document_not_Found_error end |
#inc(incs) ⇒ 열거자
모든 문서의 값을 증가시킵니다.
192 193 194 195 196 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 192 def Inc(incs) 각 do |문서| 문서.Inc(incs) end end |
#last(limit = nil) ⇒ Document
기준 선택기에 대해 데이터베이스 의 마지막 문서 를 가져옵니다.
206 207 208 209 210 211 212 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 206 def last(limit = nil) 만약 limit Eager_load(문서.last(limit)) other Eager_load([문서.last]).first end end |
마지막으로 #! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 마지막 문서 를 가져오거나, 기준 선택기를 찾을 수 없는 경우 오류를 발생시킵니다.
224 225 226 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 224 def 마지막! last || raise_document_not_Found_error end |
#길이 ⇒ 정수 ~라고도 함: 크기
컨텍스트에서 일치하는 문서의 길이를 가져옵니다.
234 235 236 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 234 def 분량 문서.분량 end |
#limit(value) ⇒ 메모리
반환되는 문서 수를 제한합니다.
247 248 249 250 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 247 def limit(value) self.제한 = value self end |
#pick(*fields) ⇒ 객체 | Array<Object>
메모리에서 필드 값을 선택합니다.
274 275 276 277 278 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 274 def pick(*필드) 만약 doc = 문서.first puck_from_doc(doc, *필드) end end |
#puck(*fields) ⇒ Array<Object> | Array<Array<Object>>
메모리에서 필드 값을 가져옵니다.
260 261 262 263 264 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 260 def 뽑다(*필드) 문서.map do |doc| puck_from_doc(doc, *필드) end end |
#초 ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 두 번째 문서 를 가져옵니다.
382 383 384 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 382 def 초 Eager_load([문서.초]).first end |
#초! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 두 번째 문서 를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
396 397 398 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 396 def 두 번째! 초 || raise_document_not_Found_error end |
#second_to_last ⇒ 문서
기준 선택기에 대해 데이터베이스 의 마지막 문서 에서 두 번째 문서를 가져옵니다.
478 479 480 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 478 def second_to_last Eager_load([문서.second_to_last]).first end |
#second_to_last! ⇒ 문서
기준 선택기에 대해 데이터베이스 의 마지막 문서 에서 두 번째 문서를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
492 493 494 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 492 def second_to_last! second_to_last || raise_document_not_Found_error end |
#skip(value) ⇒ 메모리
제공된 수의 문서를 건너뜁니다.
334 335 336 337 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 334 def 건너뛰기(value) self.건너뛰기 = value self end |
#sort(values) ⇒ Memory
제공된 사양에 따라 문서를 정렬합니다.
348 349 350 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 348 def sort(values) in_place_sort(values) 개인정보 정책에 self end |
#take(limit = nil) ⇒ Document
데이터베이스에서 지정된 수의 문서를 가져옵니다.
304 305 306 307 308 309 310 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 304 def 가져(limit = nil) 만약 limit Eager_load(문서.가져(limit)) other Eager_load([문서.first]).first end end |
#take! ⇒ Document
데이터베이스 에서 지정된 수의 문서를 가져오거나, 문서가 발견되지 않으면 오류를 발생시킵니다.
322 323 324 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 322 def 받아! 가져 || raise_document_not_Found_error end |
#tally(필드) ⇒ 해시
메모리의 필드 값을 집계합니다.
288 289 290 291 292 293 294 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 288 def tally(필드) 반환 문서.each_with_object({}) do |d, acc| v = recover_value_at_path(d, 필드) acc[v] ||= 0 acc[v] += 1 end end |
#세 번째 ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 세 번째 문서 를 가져옵니다.
406 407 408 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 406 def 세 번째 Eager_load([문서.세 번째]).first end |
#세 번째! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 세 번째 문서 를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
420 421 422 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 420 def 세 번째! 세 번째 || raise_document_not_Found_error end |
#Third_to_last ⇒ 문서
기준 선택기에 대해 데이터베이스 의 마지막 문서 에서 세 번째 문서를 가져옵니다.
502 503 504 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 502 def Third_to_last Eager_load([문서.Third_to_last]).first end |
#Third_to_last! ⇒ 문서
기준 선택기에 대해 데이터베이스 에서 마지막에서 세 번째 문서 를 가져오거나, 문서를 찾을 수 없는 경우 오류를 발생시킵니다.
516 517 518 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 516 def Third_to_last! Third_to_last || raise_document_not_Found_error end |
#update(attributes = nil) ⇒ nil | false
일치하는 첫 번째 문서 원자적으로 업데이트합니다.
360 361 362 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 360 def update(속성 = nil) update_documents(속성, [ first ]) end |
#update_all(attributes = nil) ⇒ nil | false
일치하는 모든 문서를 원자적으로 업데이트합니다.
372 373 374 |
# 파일 'lib/mongoid/contextual/memory.rb', 줄 372 def update_all(속성 = nil) update_documents(속성, 항목) end |