Begrenzen Sie die Anzahl der Aufrufe bei der Verwendung von Parse

8

Ich baue meine erste Anwendung mit einem Backend.

Allgemeine Informationen

Die App ermöglicht es Benutzern, einen Ort hochzuladen, Tags anzuhängen, Bilder, etc.

Dbs

Ich benutze Realm als offline Db & amp; Parse.com als online Db.

Beispiel

Ich baue das Datenbankmodell und versuche, alle Viele-zu-Viele-Beziehungen zu verknüpfen. Ein Beispiel: Ein Ort hat eine Anzahl von Tags (kurze Zeichenfolge), ein Tag kann eine Anzahl von Orten haben.

Um das zu bauen, habe ich das mit Realm gemacht: 1. Stellen Sie das Objekt her 2. Erstellen Sie für jedes gegebene Tag ein Tag-Objekt und fügen Sie die Objektbeziehung place hinzu 3. Rufen Sie das Platzobjekt ab und fügen Sie die Tag-Objekt-Beziehung

hinzu

Jetzt kann ich alle Tags von einem Ort bekommen, wenn ich das Ortsobjekt habe. Ich kann alle Orte erhalten, die zu einem Tag-Objekt gehören.

Ich baue jetzt die Online-Version mit Parse und erkannte, dass dieser Ansatz zu vielen Anrufen führen wird.

Mögliche Lösung

  • Fügen Sie die Tag-Objekt-Beziehung nicht der Platzrelation hinzu (Schritt 3) Abfragen Sie stattdessen die Tag-Klasse für die Relation mit dem Place-Objekt ab. (könnte sehr langsam sein?)
  • Gibt es eine Möglichkeit, das Modell "offline" zu erstellen und es als Ganzes zu verschieben?

Da ich neu in dieser Logik bin, hoffe ich, dass die Frage klar ist. Ich verstehe, dass es breit ist, aber ich denke, es ist am besten, den Gesamtfall zu erklären.

    
TomCB 30.05.2015, 07:44
quelle

1 Antwort

4

Es gibt mehrere Möglichkeiten zum Implementieren von Viele-zu-Viele-Beziehungen in Parse. Sie können Arrays oder Relationen abhängig von der Anzahl verwandter Objekte verwenden. Weitere Informationen finden Sie in der Dokumentation von Parse .

In Parse-Beziehungen können Sie mehrere Objekte in einer Relation hinzufügen, bevor Sie einen Anruf tätigen. Lassen Sie mich das Beispiel Buch und Autor in die Dokumentation aufnehmen und für Ihren Fall anpassen. Der Prozess ist:

  1. Machen Sie das Place-Objekt
  2. Überprüfen Sie, ob ein Tag-Objekt existiert. Erstellen Sie einen, wenn nicht.
  3. Verknüpfen Sie die Tag-Objekte mit dem place-Objekt in einer Parse-Beziehung

Hier ist das Codebeispiel:

%Vor%

BEARBEITEN SIE ALS KOMMENTAR

Wenn Sie alle Orte mit einem bestimmten Tag finden möchten, können Sie Folgendes tun:

%Vor%     
Ralphilius 06.06.2015, 04:30
quelle