Módulo: Mongoid::Persistable::Pullable
- Estendido por:
- ActiveSupport::Concern
- Incluído em:
- Mongoid::Persistable
- Definido em:
- lib/mongoid/persistable/pullable.rb
Visão geral
Define o comportamento das operações $pull e $pullAll.
Recolhimento do Resumo do método de instância
-
#pull(pulls) ⇒ Document
Extraia valores únicos das arrays fornecidas.
-
#pull_all(pulls) ➤ Documento
Extraia vários valores dos campos de array fornecidos.
Detalhes do método de instância
#pull(pulls) ⇒ Document
Observação:
Se valores duplicados forem encontrados, todos serão extraídos.
Extraia valores únicos das arrays fornecidas.
21 22 23 24 25 26 27 28 29 |
# Arquivo 'lib/mongoid/persistable/pullable.rb', linha 21 def pull(puxa) prepare_atomic_operation fazer |ops| process_atomic_operations(puxa) fazer |Campo, valor| (enviar(Campo) || []).excluir(valor) ops[atomic_attribute_name(Campo)] = valor end { "$pull" => ops } end end |
#pull_all(pulls) ⇒ Document
Extraia vários valores dos campos de array fornecidos.
39 40 41 42 43 44 45 46 47 48 |
# Arquivo 'lib/mongoid/persistable/pullable.rb', linha 39 def pull_all(puxa) prepare_atomic_operation fazer |ops| process_atomic_operations(puxa) fazer |Campo, valor| existente = enviar(Campo) || [] valor.cada{ |valid| existente.excluir(valid) } ops[atomic_attribute_name(Campo)] = valor end { "$pullAll" => ops } end end |