Módulo: Mongoid::Persistable::Pullable
- Estendido por:
- ActiveSupport::Concern
- Incluído em:
- Mongoid::Persistable
- Definido em:
- build/mongoid-8.1/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.
20 21 22 23 24 25 26 27 28 |
# File 'build/mongoid-8.1/lib/mongoid/persistable/pullable.rb', linha 20 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.
38 39 40 41 42 43 44 45 46 47 |
# File 'build/mongoid-8.1/lib/mongoid/persistable/pullable.rb', linha 38 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 |