Tengo una colección estructurada de esta manera:MongoDB: coincidir con el doc no vacío en orden
{
_id: 1,
score: [
{
foo: 'a',
bar: 0,
user: {user1: 0, user2: 7}
}
]
}
Tengo que encontrar todos los documentos que tienen al menos una 'puntuación' (elemento de la matriz de puntuación) que tiene una cierta valor de 'bar' y un subdocumento 'usuario' no vacío.
Esto es lo que ocurrió con (y parecía que debería funcionar):
db.col.find({score: {"$elemMatch": {bar:0, user: {"$not":{}} }}})
Pero, me sale este error:
error: { "$err" : "$not cannot be empty", "code" : 13030 }
Cualquier otra manera de hacer esto?
¿Es eso * exactamente * cómo está estructurado? Parece un poco apagado. **> var doc = {puntaje: [foo: 'a', barra: 0, usuario: {usuario1: 0, usuario2: 7}]}; Jue Jul 7 00:43:42 SintaxisError: falta] después de la lista de elementos (shell): 1 ** –
@Justin: tienes razón, olvidé las llaves dentro de la matriz. – Dmitri