loopbackio / loopbackio/loopback-next

Query nested relations recursively

Offen
#5,080 5 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature Relations
Vorherrschende Sprache
TypeScript
Sterne
5.1k
Forks
1.1k
Ø Merge
2 T. 21 Std.
Gemergte PRs (30 T.)
27

Beschreibung

Suggestion

Original from comment.

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Arbeit zur Einbeziehung von custom-scope in Issue #3454 und den Beispielen für nested-relation-Filter in diesem Issue. Lege fest, wie sich eine tiefenbegrenzte Traversierung für rekursive Comment-Antworten verhalten soll, dokumentiere die max-depth-Konfiguration und überprüfe, dass die Traversierung entweder am Limit oder am Ende der Relation stoppt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
api, backend
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.