Módulo: Mongoid::Matcher::ElemMatch Privado

Definido em:
build/mongoid-8.1/lib/mongoid/matcher/elem_match.rb

Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.

Recolhimento do Resumo do método de classe

Detalhes do método de classe

.correspondências?(existe, valor, condição) ➤ Booleano

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna:



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'build/mongoid-8.1/lib/mongoid/matcher/elem_match.rb', linha 6

module_function def correspondências?(existe, valor, Condição)
  a menos que Hash === Condição
    aumentar Errors::Query inválida, "$elemMatch requer um operando de Hash: #{Erros::InvalidQuery.truncate_expr(condição)}"
  end
  se Array === valor && !valor.vazio?
    valor.algum? fazer |v|
      ElemMatchExpression.correspondências?(v, Condição)
    end
  mais
    # Validar que a condição é válida, embora nunca tentemos
    # correspondendo a ele.
    Condição.cada fazer |k, v|
      k = k.to_s
      se k.start_with?('$')
        começar
          ExpressionOperator.obter(k)
        salvar Mongoid::Errors::InvalidExpressionOperator
          começar
            FieldOperator.obter(k)
          salvar Mongoid::Errors::Operador de campo inválido => exc
            aumentar Mongoid::Errors::InvalidElemMatchOperator.Novo(exc.operador, operador)
          end
        end
      end
    end
    false
  end
end