Menu Docs
Página inicial do Docs
/ / /
Mongoid
/ /

Persistir dados de queries

Neste guia, você pode aprender como persistir os dados das suas queries no Mongoid. O Mongoid suporta operações de persistência fora dos critérios em uma capacidade limitada, permitindo que você execute de forma expressiva operações de inserção, atualização e exclusão de vários documentos.

Para saber mais sobre como criar critérios de filtro, consulte o guia Especificar uma query de documento.

Para saber mais sobre como executar operações CRUD, consulte o guia Executar operações de dados.

Esta seção descreve métodos que você pode conectar a suas queries para criar, atualizar e excluir dados em suas coleções do MongoDB .

Você pode usar os seguintes métodos para criar novos documentos a partir de seus critérios de query:

  • create: salva uma instância de modelo no MongoDB

    • Exemplo: Band.where(name: 'Daft Punk').create

  • create!: Salva uma instância de modelo no MongoDB ou gera uma exceção se ocorrer um erro de validação

    • Exemplo: Band.where(name: 'Daft Punk').create!

  • build: cria uma instância de modelo não salva

    • Exemplo: Band.where(name: 'Daft Punk').build

  • new: cria uma instância de modelo não salva

    • Exemplo: Band.where(name: 'Daft Punk').new

Você pode usar os seguintes métodos para atualizar documentos com base em seus critérios de consulta:

  • update: Atualiza os atributos do primeiro documento correspondente

    • Exemplo: Band.where(name: 'Sundown').update(label: 'ABC Records')

  • update_all: Atualiza os atributos de todos os documentos correspondentes

    • Exemplo: Band.where(country: 'Canada').update_all(label: 'ABC Records')

  • add_to_set: adiciona um valor a uma array especificada em todos os documentos correspondentes

    • Exemplo: Band.where(name: 'Sun Down').add_to_set(label: 'ABC Records')

  • bit: Executa uma atualização bitwise de um campo

    • Exemplo: Band.where(name: 'Sun Down').bit(likes: { and: 14, or: 4 })

  • inc: Aumenta o valor de um campo

    • Exemplo: Band.where(name: 'Sun Down').inc(likes: 14)

  • pop: Remove o primeiro ou último elemento de um campo de array

    • Exemplo: Band.where(name: 'Sun Down').pop(members: -1)

  • pull: Remove todas as instâncias de um valor ou valores que correspondem a uma condição especificada de um campo de array

    • Exemplo: Band.where(name: 'Sun Down').pull(members: 'Jonah Larsen')

  • pull_all: Remove todas as instâncias dos valores especificados de um campo de array

    • Exemplo: Band.where(name: 'Sun Down').pull_all(:members, [ 'Jonah Larsen', 'Dan Jones' ])

  • push: anexa um valor especificado a um campo de array

    • Exemplo: Band.where(name: 'Sun Down').push(members: 'Jonah Larsen')

  • push_all: anexa um valor especificado usando o operador $each em um campo de array

    • Exemplo: Band.where(name: 'Sun Down').push_all(members: [ 'Jonah Larsen', 'Dan Jones' ])

  • rename: renomeia um campo em todos os documentos correspondentes

    • Exemplo: Band.where(name: 'Sun Down').rename(name: :title)

  • set: Define um novo valor para um campo especificado em todos os documentos correspondentes

    • Exemplo: Band.where(name: 'Sun Down').set(likes: 10000)

  • unset: Exclui um campo específico em todos os documentos correspondentes

    • Exemplo: Band.where(name: 'Sun Down').unset(:likes)

Você pode usar os seguintes métodos para excluir documentos com base em seus critérios de query:

  • delete: exclui todos os documentos correspondentes.

    • Exemplo: Band.where(label: 'ABC Records').delete

  • destroy: exclui todos os documentos correspondentes durante a execução de callbacks. Este método carrega todos os documentos na memória.

    • Exemplo: Band.where(label: 'ABC Records').destroy

Para saber como personalizar seu destino de persistência, consulte o guia Configuração de persistência .

Voltar

Escopo

Nesta página