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

Object.keys, cómo obtener una lista de claves en mongodb

Una consulta como {"colors.*.prestock" : {$gte:30}} no es posible según SERVER-267 , y dudo que esto sea compatible en los próximos años.

Su mejor opción es cambiar el esquema a una matriz:

colors: [
 { "color" : "Green", "instock" : 50, ... },
 { "color" : "Yellow", "instock" : 50, ... },
]

Entonces puedes consultar

db.foo.find( {"colors.prestock" : {$gte:30}} )

Tenga en cuenta que esto devolverá el objeto completo, incluidos todos los colores, es decir, también aquellos para los que no se cumple la restricción de consulta. Esto podría resolverse usando el marco de agregación, pero nuevamente, solo usando $unwind que también requiere colors ser una matriz.