Estoy usando un MongoDB para una nueva aplicación que estoy creando y solo necesito ciertos datos. Requiero los siguientes campos: actual (booleano), posición, sector y nombre. El campo de posición se completa con uno de cuatro valores: "efectivo, SPVR, APAGADO y capacitación", mientras que el campo de sector tiene uno de dos valores: "Descanso o trabajo". Quiero una consulta que me dé todos los registros donde existan las siguientes condiciones: 1. actual = VERDADERO 2. Posición = "SPVR" o "CASH" O Sector = "BREAK" y 3. El nombre no es NULL
El problema que tengo es que hay cientos de registros que tienen un valor de BREAK, pero la mayoría de ellos no tienen un valor en el campo Nombre. No quiero registros que no tengan un nombre asociado. Entonces, en ese sentido, en la línea 2 anterior, ¿supongo que OR podría ser AND?
Este es mi comienzo actual en la declaración Mongoid
get '/currentstate*' do StateTransaction.where( current: true, :position.in =>["SPVR", "CASH"] ).to_json endCualquier ayuda sería muy apreciada.
¡¡Gracias!!
Deberia de funcionar
StateTransaction.where(current: true, :name.ne => ["",nil]).and( StateTransaction.or( {:position.in =>["SPVR", "CASH"]}, {sector: "BREAK"} ).selector )Lo siguiente es posiblemente más simple:
sts = StateTransaction.where(current: true, :name.ne => ["",nil]) sts.any_of(:position.in => ["SPVR", "CASH"], sector: 'BREAK')