2012-06-27 30 views
5

¿Es posible consultar objetos específicos dentro de un documento anidado? Aquí está un ejemplo,MongoDB recuperar objetos seleccionados de documentos anidados

Collection : Threads 
{ 
    Documents : Messages 
    { 
     threadId = 1 
     messages = [ 
      { 
       user = amy 
       date = 01/01/2012 
       content = hey 
      }, 
      { 
       user = bell 
       date = 01/01/2012 
       content = hey 
      }, 
      { 
       user = bell 
       date = 01/02/2012 
       content = whats up 
      } 
     ] 
    }, 
    { 
     threadId = 2 
     messages = [ 
      { 
       user = courtney 
       date = 01/03/2012 
       content = first! 
      } 
     ] 
    } 
} 

Me gustaría que mi consulta que decir { threadId : 1, 'messages.date' : { $gt : 01/01/2012 } }, { fields : { messages : 1 } }. Pero va a devolver todos los mensajes que los documentos, cuando en realidad lo único que deseo es como resultado de esto,

messages = [ 
    { 
     user = bell 
     date = 01/02/2012 
     content = whats up 
    } 
] 
+0

El uso de tuberías de agregaciones MongoDB podría proporcionarle una solución. –

Respuesta

Cuestiones relacionadas