클래스: Mongoid::Contextual::GeoNear

상속:
객체
  • 객체
모두 표시
확장자:
전달 가능
다음을 포함합니다.
열거형, 명령
다음에 정의됨:
lib/mongoid/contextual/geo_near.rb

개요

$geoNear 데이터베이스 명령 지침을 나타냅니다.

인스턴스 속성 요약

명령에 포함된 속성

# 컬렉션, # 컬렉션 쿼리 할 컬렉션 입니다., #criteria, #criteria 컨텍스트에 대한 기준입니다.

인스턴스 메서드 요약 접기

Command에 포함된 메서드

#client, #command

생성자 세부 정보

#initialize(컬렉션, criteria, near) ⇒ GeoNear

새 맵/리듀스 지시문을 초기화합니다.

예시:

새 맵/리듀스를 초기화합니다.

MapReduce.new(criteria, map, reduce)

매개변수:

  • 컬렉션 (Mongo::Collection)

    작업을 실행 컬렉션 입니다.

  • 기준 (기준)

    Mongoid 기준입니다.

  • 가깝다 (string)


69
70
71
72
73
74
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 69

def 초기화(컬렉션, 기준, 가깝다)
  @collection, @criteria = 컬렉션, 기준
  명령[:geoNear] = 컬렉션.이름.to_s
  명령[:near] = 가깝다
  apply_criteria_options
end

인스턴스 메서드 세부 정보

#average_distanceFloat | nil

명령의 점 에서 모든 문서의 평균 거리를 가져옵니다.

예시:

평균 거리를 구합니다.

geo_near.average_distance

반환합니다:

  • (Float | nil)

    평균 거리입니다.



23
24
25
26
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 23

def 평균 거리
  평균 = stats["avgDistance"]
  (평균.nil? || 평균.난?) ? nil : 평균
end

#distance_multiplier(value) ⇒ GeoNear

반환된 각 거리에 사용할 거리 승수를 제공합니다.

예시:

거리 승수를 제공합니다.

geo_near.distance_multiplier(13113.1)

매개변수:

  • value (정수 | Float)

    거리 승수입니다.

반환합니다:

  • (GeoNear)

    GeoNear 래퍼입니다.



55
56
57
58
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 55

def distance_multiplier(value)
  명령[:distanceMultiplier] = value
  self
end

#각각열거자

데이터베이스 에서 다시 전달된 예비 정보를 제외하고 $geoNear 의 각 문서를 반복합니다.

예시:

결과를 반복합니다.

geo_near.each do |doc|
  p doc
end

반환합니다:

  • (열거자)

    열거자입니다.



37
38
39
40
41
42
43
44
45
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 37

def 
  만약 block_given?
    문서. do |doc|
      yield doc
    end
  other
    to_enum
  end
end

#empty_and_chainable?true

이 컨텍스트의 기준이 비어 있는 것으로 간주되나요?

예시:

이 컨텍스트의 기준이 비어 있는 것으로 간주되나요?

geo_near.empty_and_chainable?

반환합니다:

  • (true)

    항상 사실입니다.



189
190
191
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 189

def empty_and_chainable?
  true
end

#실행해시

$geoNear를 실행하여 원시 출력을 반환합니다.

예시:

$geoNear 실행

geo_near.execute

반환합니다:

  • (해시)

    원시 출력



159
160
161
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 159

def 실행
  결과
end

#검사string

명령의 예쁜 string 표현을 가져옵니다.

예시:

geoNear를 검사합니다.

geo_near.inspect

반환합니다:

  • (string)

    검사 string.



82
83
84
85
86
87
88
89
90
91
92
93
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 82

def 검사
%Q{#<Mongoid::Contextual::GeoNear 선택기:   #{criteria.선택기.검사}
  클래스:      #{기준.klass}
  near:       #{command[:near]}
  multiplier: #{command[:distanceMultiplier] || "N/A"}
  max:        #{command[:maxDistance] || "N/A"}
  min:        #{command[:minDistance] || "N/A"}
  unique:     #{command[:unique].nil? ? true : command[:unique]}
  sphere:  #{command[:sphere] || false}>
}
end

#max_distance(value = nil) ⇒ GeoNear | Float

문서를 찾을 최대 거리를 지정하거나 가장 먼 거리의 문서 값을 가져옵니다.

예시:

최대 거리를 설정합니다.

geo_near.max_distance(0.5)

최대 거리를 구합니다.

geo_near.max_distance

매개변수:

  • value (정수 | Float) (기본값: nil)

    최대 거리입니다.

반환합니다:

  • (GeoNear | Float)

    GeoNear 명령 또는 값입니다.



107
108
109
110
111
112
113
114
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 107

def max_distance(value = nil)
  만약 value
    명령[:maxDistance] = value
    self
  other
    stats["maxDistance"]
  end
end

#min_distance(value) ⇒ GeoNear

문서를 찾을 최소 거리를 지정합니다.

예시:

최소 거리를 설정합니다.

geo_near.min_distance(0.5)

매개변수:

  • value (정수 | Float)

    최소 거리입니다.

반환합니다:



124
125
126
127
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 124

def min_distance(value)
  명령[:minDistance] = value
  self
end

#구형GeoNear

구형 거리를 기반으로 계산하도록 명령을 지시합니다.

예시:

구형 플래그를 추가합니다.

geo_near.spherical

반환합니다:



135
136
137
138
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 135

def 구형
  명령[: 구형] = true
  self
end

#statsHash

명령 실행 에 대한 통계를 가져옵니다.

예시:

통계를 가져옵니다.

geo_near.stats

반환합니다:

  • (해시)

    명령 실행의 통계입니다.



169
170
171
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 169

def stats
  결과["stats"]
end

#timeFloat

명령의 실행 시간을 가져옵니다.

예시:

실행 시간을 가져옵니다.

geo_near.time

반환합니다:

  • (Float)

    실행 시간입니다.



179
180
181
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 179

def 시간
  stats["time"]
end

#unique(value = true) ⇒ GeoNear

반환된 결과가 고유해야 하는지 여부를 명령에 알립니다.

예시:

고유 플래그를 설정합니다.

geo_near.unique(false)

매개변수:

  • value (true | false) (기본값: true)

    고유한 문서를 반환할지 여부입니다.

반환합니다:



148
149
150
151
# 파일 'lib/mongoid/contextual/geo_near.rb', 줄 148

def unique(value = true)
  명령[:unique] = value
  self
end