Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Persistir datos de queries

En esta guía, puedes aprender cómo persistir datos fuera de tus consultas en Mongoid. Mongoid admite operaciones de persistencia fuera de los criterios de forma limitada, lo que te permite realizar de manera expresiva operaciones multidocumento de inserción, actualización y eliminación.

Para aprender más sobre cómo crear criterios de filtro, consulta el Especifica una query de documento guía.

Para obtener más información sobre cómo realizar operaciones CRUD, consulte la guía de operaciones CRUD.

Esta sección describe métodos que puedes encadenar a tus queries para crear, actualizar y borrar datos en tus colecciones de MongoDB.

Puedes usar los siguientes métodos para crear nuevos documentos a partir de tus criterios de query:

  • create: Guarda una instancia de modelo en MongoDB

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

  • create!Guardado de una instancia de modelo en MongoDB o bien genera una excepción si ocurre un error de validación.

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

  • buildCrea una instancia de modelo no guardada

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

  • newCrea una instancia de modelo no guardada

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

Puedes utilizar los siguientes métodos para actualizar documentos basados en tus criterios de query:

  • updateActualiza los atributos del primer documento coincidente

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

  • update_allActualiza los atributos de todos los documentos coincidentes

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

  • add_to_set:: Añade un valor a un arreglo especificado en todos los documentos correspondientes

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

  • bitRealiza una actualización de bits de un campo

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

  • incIncrementa el valor de un campo

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

  • popQuita el primer o el último elemento de un campo de arreglo

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

  • pullElimina todas las instancias de un valor o valores que cumplan una condición especificada de un campo arreglo.

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

  • pull_all: Elimina todas las instancias de los valores especificados de un campo de matriz

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

  • pushañade un valor específico a un campo de arreglo

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

  • push_all: Adjunta un valor específico utilizando el operador $each en un campo de arreglo

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

  • rename: Cambia el nombre de un campo en todos los documentos coincidentes

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

  • set: Establece un nuevo valor para un campo específico en todos los documentos coincidentes

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

  • unset: Elimina un campo particular en todos los documentos coincidentes

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

Puedes utilizar los siguientes métodos para borrar documentos en base a tus criterios de query:

  • delete:Elimina todos los documentos coincidentes.

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

  • destroy: Elimina todos los documentos coincidentes mientras ejecuta callbacks. Este método carga todos los documentos en la memoria.

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

Para aprender cómo personalizar su objetivo de persistencia, consulte la guía de Configuración de persistencia.

Volver

Alcance

En esta página