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

Operador MongoDB $

El operador $ es para usar en el objeto del operador de actualización (segundo argumento para update ), no el selector de consulta (primer argumento). En el selector de consultas, debería poder usar aList.bList.cList._id , y esto permitiría aList.$.bList.$.cList corresponden al primer elemento coincidente de la cList incrustada en el operador de actualización.

Editar:

Posicional anidado ($ ) la coincidencia de operadores no se admite actualmente. Este ticket muestra la demanda de esta función exactamente desde hace mucho tiempo (¡2010!), pero aparentemente el código de nivel inferior dentro de mongoDB no lo hizo posible. Parece que 10gen tiene la esperanza de obtener esta función en la versión 2.6.

Parece que tendrá que consultar y actualizar por separado para lograr esto con su esquema actual, o tal vez cambiar su esquema para que sea más plano.