loopbackio / loopbackio/loopback-next

Query nested relations recursively

Aperta
#5,080 5 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

feature Relations
Lingua principale
TypeScript
Stelle
5.1k
Fork
1.1k
Merge medio
2g 21h
PR unite (30g)
27

Descrizione

## Suggestion

Original from [comment](https://github.com/strongloop/loopback-next/issues/3454#issuecomment-609847868).

LoopBack 4 provides the custom scope to achieve inclusion, which was implemented in #3454. But it only goes down to the certain levels of relations that are described in the filter, for example, three levels:
```
const filter = {
include: [
{
relation: 'nested 1',
scope: {
include: [{relation: 'nested 2'}],
},
},
],
};
```
It'd be good to have a better way to query nested relations to max depth/ N degrees, something like `{relation: "nested", depth: 10}`.

## Examples

Model `Comment` has many `replies: Comment[]`, and comments in the `replies` has many `replies`, etc. Returns when there is no more replies or the max depth is reached.

## Acceptance criteria

- [ ] Provide a way to query nested relations to max depth/ N degrees, or at least to have a helper function for writing the filter.
- [ ] Should document how to configure the max depth of such traverses.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia leggendo il lavoro sull’inclusione di custom-scope nell’issue #3454 e gli esempi di filtri nested-relation in questa issue. Definisci come deve comportarsi un attraversamento limitato in profondità per le risposte ricorsive di Comment, documenta la configurazione max-depth e verifica che l’attraversamento si arresti al raggiungimento del limite o alla fine della relazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
api, backend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.