sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB comodín en la clave de una consulta

Según lo solicitado, esto no es posible. El problema del servidor al que se vinculó aún se encuentra en "problemas de los que no estamos seguros" .

MongoDB tiene algo de inteligencia en torno al uso de arreglos, y creo que eso es parte de la complejidad que rodea a dicha función.

Toma la siguiente consulta db.foo.find({ 'a.b' : 4 } ) . Esta consulta coincidirá con los siguientes documentos.

{ a: { b: 4 } }
{ a: [ { b: 4 } ] }

Entonces, ¿qué hace "comodín" aquí? db.foo.find( { a.* : 4 } ) ¿Coincide con el primer documento? ¿Qué pasa con el segundo?

Además, ¿qué significa esto semánticamente? Como ha descrito, la consulta es efectivamente "buscar documentos donde cualquier campo en ese documento tenga un valor de 4" . Eso es un poco inusual.

¿Hay una semántica específica que estás tratando de lograr? Tal vez un cambio en la estructura del documento le proporcione la consulta que desea.