MongoDB consulta para recuperar un valor de matriz por un valor en la matriz

Tengo una colección de documentos que contienen una variedad de subdocumentos. Cada subdocumento tiene un valor de tiempo. Estoy tratando de ver si puedo devolver un sub documento, según el tiempo en el sub documento.

Sé que puedo recuperar un sub documento usando $ slice, pero $ slice solo me da un índice específico o rango y desplazamiento.

¡Tiempo de ejemplo!

Los documentos son así ...

{ 
    id: 1234, 
    type: 'a', 
    subs: [
        { time: 123001, val: 'a' },
        { time: 123002, val: 'b' },
        { time: 123003, val: 'c' }
    ]
}

Si hago una consulta con find ({}, {subs: {$ slice: [2,1]}}) obtengo algo como:

{ id: 1234, type: 'a', subs: [{ time: 123002, val: 'b' }]}

Quiero recuperar ese registro, por ejemplo, no en función del desplazamiento, sino en función del valor de tiempo 123002.

¿Posible

¡Vamos

Respuestas a la pregunta(1)

Su respuesta a la pregunta