Classe: Mongoid::Criteria::Queryable::Options

Herda:
Smash
  • Objeto
mostrar tudo
Definido em:
lib/mongoid/criteria/queryable/options.rb

Visão geral

As opções são uma representação de hash das opções passadas para queries do MongoDB, como critérios de salto, limite e classificação.

Resumo do atributo de instância

Atributos herdados do Smash

#aliased_associations, #aliased_associations As aliased_associations ., #aliases, #aliases Os nomes alternativos., #associations, #associations As associações., #serializers, #serializers Os serializadores.

Recolhimento do Resumo do método de instância

Métodos herdados do Smash

#[], #initialize

Detalhes do construtor

Esta classe herda um construtor de Mongoid::Criteria::Queryable::Smash

Detalhes do método de instância

#__deep_copy__ ➤ Opções

Execute uma cópia profunda das opções.

Exemplos:

Execute uma cópia profunda.

options.__deep_copy__

Retorna:



99
100
101
102
103
104
105
# Arquivo 'lib/mongoid/criteria/queryable/options.rb', linha 99

def __deep_copy__
  auto.classe.Novo(Aliases, serializadores, serializadores, Associações, aliased_associations) fazer |copy|
    cada_pair fazer |chave, valor|
      copy.mesclar!(chave => valor.__deep_copy__)
    end
  end
end

#camposHash

Método de conveniência para obter as opções de campo .

Exemplos:

Obtenha as opções de campos.

options.fields

Retorna:

  • (Hash)

    As opções de campos.



15
16
17
# Arquivo 'lib/mongoid/criteria/queryable/options.rb', linha 15

def Campos
  auto[:fields]
end

#limiteInteiro

Método de conveniência para obter a opção limite.

Exemplos:

Obtenha a opção de limite.

options.limit

Retorna:

  • (Inteiro)

    A opção limite.



25
26
27
# Arquivo 'lib/mongoid/criteria/queryable/options.rb', linha 25

def limit
  auto[:limit]
end

#skipInteiro

Método de conveniência para obter a opção de pular.

Exemplos:

Obtenha a opção pular.

options.skip

Retorna:

  • (Inteiro)

    A opção pular.



35
36
37
# Arquivo 'lib/mongoid/criteria/queryable/options.rb', linha 35

def ignorar
  auto[:skip]
end

#sortHash

Método de conveniência para obter as opções de classificação.

Exemplos:

Obtenha as opções de classificação.

options.sort

Retorna:

  • (Hash)

    As opções de classificação.



45
46
47
# Arquivo 'lib/mongoid/criteria/queryable/options.rb', linha 45

def sort
  auto[:sort]
end

#store(key, value, localize = true) ➤ Object Também conhecido como: []=

Armazene o valor nas opções da chave fornecida. As opções lidarão com toda a serialização e localização necessárias nesta etapa.

Exemplos:

Armazene um valor nas opções.

options.store(:key, "testing")

Parâmetros:

  • chave (string | Símbolo)

    O nome do atributo.

  • valor (Objeto)

    O valor a ser adicionado.

Retorna:

  • (Objeto)

    O objeto armazenado.



59
60
61
# Arquivo 'lib/mongoid/criteria/queryable/options.rb', linha 59

def Armazenar(chave, valor, localizar = true)
  super(chave, evolua(valor, localizar))
end

#to_pipeline ➤ Array<Hash>

Converta as opções em opções compatíveis com o pipeline de agregação .

Exemplos:

Converta as opções em um pipeline.

options.to_pipeline

Retorna:

  • (Array<Hash>)

    As opções no formulário de pipeline.



70
71
72
73
74
75
76
# Arquivo 'lib/mongoid/criteria/queryable/options.rb', linha 70

def to_pipeline
  gasoduto = []
  gasoduto.push({ '$skip' => ignorar }) se ignorar
  gasoduto.push({ '$limit' => limit }) se limit
  gasoduto.push({ '$sort' => sort }) se sort
  gasoduto
end

#to_pipeline_for_lookupArray<Hash>

Converta as opções em opções compatíveis com o pipeline de agregação . Esta versão coloca a classificação por último para cumprir os requisitos de $lookup.

Exemplos:

Converta as opções em um pipeline.

options.to_pipeline_for_lookup

Retorna:

  • (Array<Hash>)

    As opções no formulário de pipeline.



85
86
87
88
89
90
91
# Arquivo 'lib/mongoid/criteria/queryable/options.rb', linha 85

def to_pipeline_for_lookup
  gasoduto = []
  gasoduto.push({ '$sort' => sort }) se sort
  gasoduto.push({ '$skip' => ignorar }) se ignorar
  gasoduto.push({ '$limit' => limit }) se limit
  gasoduto
end