MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Curinga do MongoDB na chave de uma consulta


Conforme solicitado, isso não é possível. O problema do servidor ao qual você vinculou ainda está em "problemas dos quais não temos certeza" .

O MongoDB tem alguma inteligência em torno do uso de arrays, e acho que isso faz parte da complexidade em torno de tal recurso.

Faça a seguinte consulta db.foo.find({ 'a.b' : 4 } ) . Esta consulta corresponderá aos seguintes documentos.
{ a: { b: 4 } }
{ a: [ { b: 4 } ] }

Então, o que "curinga" faz aqui? db.foo.find( { a.* : 4 } ) Corresponde ao primeiro documento? E quanto ao segundo?

Além disso, o que isso significa semanticamente? Como você descreveu, a consulta é efetivamente "encontrar documentos em que qualquer campo desse documento tenha um valor de 4" . Isso é um pouco incomum.

Existe uma semântica específica que você está tentando alcançar? Talvez uma mudança na estrutura do documento lhe dê a consulta desejada.