Classificação: Mongoid::Contextual::GeoNear

Herda:
Objeto
  • Objeto
mostrar tudo
Estendido por:
Encaminhável
Inclui:
Enumerável, Comando
Definido em:
lib/mongoid/contextual/geo_near.rb

Visão geral

Representa uma instrução de comando de banco de dados de dados $geoNear.

Resumo do atributo de instância

Atributos incluídos do Comando

#collection, #collection A collection na qual fazer query., #criteria, #criteria Os critérios para o contexto.

Recolhimento do Resumo do método de instância

Métodos incluídos do comando

#client, #command

Detalhes do construtor

#initialize(collection, criteria, near) ➤ GeoNear

Inicialize a nova diretiva de mapeamento/redução.

Exemplos:

Inicialize o novo mapa/redução.

MapReduce.new(criteria, map, reduce)

Parâmetros:

  • collection (Mongo::Collection)

    A coleção na qual executar a operação.

  • critério (Critérios)

    Os critérios Mongoid.

  • perto (string)


69
70
71
72
73
74
# File 'lib/mongoid/contextual/geo_near.rb', linha 69

def inicializar(collection, critério, perto)
  @collection, @criteria = collection, critério
  comando[:geoNear] = collection.name.to_s
  comando[:perto] = perto
  apply_criteria_options
end

Detalhes do método de instância

#average_istance ➤ Flutuante | nada

Obtenha a distância média para todos os documentos a partir do ponto no comando.

Exemplos:

Obtenha a distância média.

geo_near.average_distance

Retorna:

  • (Flutuante | nulo)

    A distância média.



23
24
25
26
# File 'lib/mongoid/contextual/geo_near.rb', linha 23

def average_istance
  média = estatísticas["avgDistance"]
  (média.nada? || média.nan?) ? nada : média
end

#distância_multiplicador(valor) ➤ GeoNear

Forneça um multiplicador de distância a ser usado para cada distância retornada.

Exemplos:

Forneça o multiplicador de distância.

geo_near.distance_multiplier(13113.1)

Parâmetros:

  • valor (Inteiro | Flutuante)

    O multiplicador de distância.

Retorna:

  • (GeoNear)

    O encapsulador wrapper.



55
56
57
58
# File 'lib/mongoid/contextual/geo_near.rb', linha 55

def distância_multiplicadora(valor)
  comando[:istanceMultiplicador] = valor
  auto
end

#cadaEnumerador

Itera sobre cada um dos documentos no $geoNear, excluindo as informações extras que foram passadas de volta do banco de banco de dados.

Exemplos:

Iterar sobre os resultados.

geo_near.each do |doc|
  p doc
end

Retorna:

  • (Enumerador)

    O enumerador.



37
38
39
40
41
42
43
44
45
# File 'lib/mongoid/contextual/geo_near.rb', linha 37

def cada
  se block_given?
    documentos.cada fazer |doc|
      rendimento doc
    end
  mais
    to_enum
  end
end

#empty_and_chainable?verdadeiro

Os critérios deste contexto são considerados vazios?

Exemplos:

Os critérios deste contexto são considerados vazios?

geo_near.empty_and_chainable?

Retorna:

  • (verdadeiro)

    Sempre verdadeiro.



189
190
191
# File 'lib/mongoid/contextual/geo_near.rb', linha 189

def empty_and_chainable?
  true
end

#executeHash

Execute o $geoNear, retornando a saída bruta.

Exemplos:

Execute o $geoNear

geo_near.execute

Retorna:

  • (Hash)

    A saída bruta



159
160
161
# File 'lib/mongoid/contextual/geo_near.rb', linha 159

def executar, executar
  Resultados
end

#inspecionarstring

Obtenha uma bonita representação de string do comando.

Exemplos:

Inspecione o geoNear.

geo_near.inspect

Retorna:

  • (string)

    A string de inspeção.



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

def inspecionar
%Q{#<Mongoid::Contextual::GeoNear selector:   #{criteria.seletor.inspecionara classe}:      #{criteria.klass}
  próximo:       #{comando[:near]}
  multiplicador: #{comando[:istanceMultiplicador] || "N/A"}
  max:        #{command[:maxDistance] || "N/A"}
  min:        #{command[:minDistance] || "N/A"}
  unique:     #{command[:unique].nada? ? true : comando[:unique]}
  spherical:  #{comando[:spherical] || false}>
}
end

#max_istance(value = nil) ➤ GeoNear | Flutuador

Especifique a distância máxima para localizar documentos ou obtenha o valor do documento com a distância mais distante.

Exemplos:

Defina a distância máxima.

geo_near.max_distance(0.5)

Obtenha a distância máxima.

geo_near.max_distance

Parâmetros:

  • valor (Inteiro | Flutuante) (padrão para: nil)

    A distância máxima.

Retorna:

  • (GeoNear | Flutuante)

    O comando GeoNear ou o valor.



107
108
109
110
111
112
113
114
# File 'lib/mongoid/contextual/geo_near.rb', linha 107

def max_istance(valor = nada)
  se valor
    comando[:maxDistance] = valor
    auto
  mais
    estatísticas["maxDistance"]
  end
end

#min_istance(value) ➤ GeoNear

Especifique a distância mínima para encontrar documentos.

Exemplos:

Defina a distância mínima.

geo_near.min_distance(0.5)

Parâmetros:

  • valor (Inteiro | Flutuante)

    A distância mínima.

Retorna:



124
125
126
127
# File 'lib/mongoid/contextual/geo_near.rb', linha 124

def min_istance(valor)
  comando[:minDistance] = valor
  auto
end

#esférica ➤ GeoNear

Diga ao comando para calcular com base em distâncias esféricas.

Exemplos:

Adicione a bandeira esférica.

geo_near.spherical

Retorna:



135
136
137
138
# File 'lib/mongoid/contextual/geo_near.rb', linha 135

def Esférica
  comando[:spherical] = true
  auto
end

#statsHash

Obtenha as estatísticas da execução do comando.

Exemplos:

Obtenha as estatísticas.

geo_near.stats

Retorna:

  • (Hash)

    As estatísticas do comando são executadas.



169
170
171
# File 'lib/mongoid/contextual/geo_near.rb', linha 169

def estatísticas
  Resultados["estatísticas"]
end

#timeFlutuante

Obtenha o tempo de execução do comando.

Exemplos:

Obtenha o tempo de execução.

geo_near.time

Retorna:

  • (Flutuante)

    O tempo de execução.



179
180
181
# File 'lib/mongoid/contextual/geo_near.rb', linha 179

def time
  estatísticas["tempo"]
end

#unique(value = true) ➤ GeoNear

Diga ao comando se os resultados retornados devem ou não ser únicos.

Exemplos:

Defina o sinalizador exclusivo.

geo_near.unique(false)

Parâmetros:

  • valor (verdadeiro | falso) (padrão para: true)

    Se documentos exclusivos devem ser devolvidos.

Retorna:



148
149
150
151
# File 'lib/mongoid/contextual/geo_near.rb', linha 148

def unique(valor = true)
  comando[:unique] = valor
  auto
end