Extraer elementos posteriores y anteriores en una array
Publicado por Joserra (3 intervenciones) el 14/04/2020 21:48:31
Hola
tengo un documento (tendré muchos si construyo la colección) que contendrá un array. Cada uno de estos elementos tendrá un campo clave sobre el que construiré un índice multikey; con lo cuál podré localizar cualquier documento rápidamente gracias a cualquier elemento que figuré en la array.
Pero yo lo que querría es recuperar del documento solo los elementos coincidentes en una propiedad con el elemento que me ha permitido tener éxito en la búsqueda.
El find sería algo así:
find({"array_struct.element_id":"Element4"}), -> tiene un valor "rama":"1"
Y debería devolverme tan solo los elementos que tienen "rama:":"1", al igual que el elemento que me ha permitido tener éxito en la búsqueda (serían los elementos Element1, Element5 y el propio Element4.
La duda es un poco compleja, lo sé, pero si al menos me dieseis una pista de cómo filtrar de un documento valores del propio documento y permitir en la respuesta solo los valores coincidentes con un valor, reutilizado como una variable, me sería muy útil.
Ejemplo del documento completo es este:
Gracias anticipadas.
tengo un documento (tendré muchos si construyo la colección) que contendrá un array. Cada uno de estos elementos tendrá un campo clave sobre el que construiré un índice multikey; con lo cuál podré localizar cualquier documento rápidamente gracias a cualquier elemento que figuré en la array.
Pero yo lo que querría es recuperar del documento solo los elementos coincidentes en una propiedad con el elemento que me ha permitido tener éxito en la búsqueda.
El find sería algo así:
find({"array_struct.element_id":"Element4"}), -> tiene un valor "rama":"1"
Y debería devolverme tan solo los elementos que tienen "rama:":"1", al igual que el elemento que me ha permitido tener éxito en la búsqueda (serían los elementos Element1, Element5 y el propio Element4.
La duda es un poco compleja, lo sé, pero si al menos me dieseis una pista de cómo filtrar de un documento valores del propio documento y permitir en la respuesta solo los valores coincidentes con un valor, reutilizado como una variable, me sería muy útil.
Ejemplo del documento completo es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
"_id": "doc2",
"header_code_id": "CodeA",
"header_type": "TypeA",
"array_struct": [
{
"element_id": "Element1",
"node_type": "TypeAA",
"rama:":"1",
"level":1
},
{
"element_id": "Element2",
"node_type": "TypeBA",
"rama:":"2",
"level":1
},
{
"element_id": "Element3",
"node_type": "TypeBB",
"rama:":"2",
"level":1
},
{
"element_id": "Element4",
"node_type": "TypeAB",
"rama:":"1",
"level":2
},
{
"element_id": "Element5",
"node_type": "TypeAC",
"rama:":"1",
"level":3
}
],
"user_audit_id": "YOMISMO",
"audit_date": "2020-04-16-09.46.57.664209"
}
Gracias anticipadas.
Valora esta pregunta


0