estoy tratando de hacer algo bastante simple que creo:Mongoid - ¿Gestión de matrices? inserte un valor único, elimine el valor si existe?
1) insertar un valor en un campo de matriz sólo si dicho valor no está ya presente
2) eliminar un valor si existe en la matriz
Acabo ni idea de cómo hacer cualquiera de estas cosas ... por el momento sólo estoy insertando el valor de mi sin comprobar si ya existe: miMatriz < < obj.id
Gracias,
Alex
ps: el uso de rieles 3.0.3, 1.1.5 y mongo MongoId 2.0.0.rc5
PS2: Esta es la sintaxis mongodb para conseguir lo que quiero, pero no tengo ni idea de cómo hacer esto en MongoId
{ $addToSet : { field : value } }
valor se suma a la matriz sólo si su no en la matriz ya, si el campo es una matriz existente, de lo contrario conjuntos de campos para el valor de la matriz si el campo no está presente. Si el campo está presente pero no es una matriz, se genera una condición de error.
agregar muchos valuest.update
{ $addToSet : { a : { $each : [ 3 , 5 , 6 ] } } }
$pop
{ $pop : { field : 1 } }
elimina el último elemento de una matriz (añadido en 1,1)
{ $pop : { field : -1 } }
elimina el primer elemento de una matriz (añadido en 1.1) |
I don' Conozca la sintaxis con el controlador carriles mongo, nut $ addToSet es lo que desea. –
Sí, lo sé ... :(pero no tengo idea de cómo implementarlo – Alex