2016-07-14 6 views
0

Es ist ziemlich einfach für SQL-based Systeme, aber, wie es mit Realm auf Android zu tun? Muss ich wirklich beide Tabellen wiederholen wie:Wie kann ich zwei Tabellen mit derselben Struktur vergleichen und unübertroffene Datensätze mit Realm finden?

Warum brauche ich es? Ich analysiere eine Liste von ausstehenden Artikeln mit IDs und bekomme sagen 1, 2, 3. Ich speichere sie in TABLE-1 mit Zustand PENDING. Nachdem ich die Liste der ausstehenden Artikel erneut analysiert habe, und dieses Mal bekomme ich sagen 2, 3, 4. Also muss ich die neu geholt Artikel durchlaufen und überprüfen:

  • , die sich bereits in TABLE-1 (so aktualisiere ich Inhalt 2, 3 mit neu heruntergeladenen Inhalt)
  • die nicht in TABLE-1 (so füge ich 4 zu TABLE-1 mit staatlicher PENDING wie es ist neu)
  • , die in TABLE-1 waren, aber nicht mehr geholt (so bewege ich Artikel 1FINISHED zu erklären, wie es aus schwebender Liste nicht auf Ergebnisse geholt ist).

So war meine Idee, diese neu analysiert Artikel 2, 3, 4 in TABLE-2 zu speichern und nur mit TABLE-1 vergleichen.

+0

Darf ich fragen, warum brauchen Sie das? – beeender

+0

Ja, ich habe die Frage aktualisiert, um zu erklären, was ich erreichen möchte. –

+1

Sie können tatsächlich einige Flags im 'Artikel' setzen, wie' ausstehend'. Sie können also das Flag beim Parsen setzen/löschen, was die einzige Iteration ist, die Sie durchführen müssen. Vielleicht können Sie auch ein 'Date'-Feld im Objekt haben (wie' Date lastUpdated'). Durch die Kombination verschiedener "RealmQuery" -Bedingungen kann ich erreichen, was Sie wollen. – beeender

Antwort

0

Ja, du musst, Realm unterstützt keinen solchen "Schema" Vergleich! Realm ist eine mobile DB, es gibt keine Notwendigkeit, 2 Schemas mit der gleichen Struktur zu haben!

+0

"Es gibt keine Notwendigkeit, 2 Schemata mit der gleichen Struktur zu haben" können Sie es klarer machen, da ich diesen Teil Ihrer Antwort nicht erhalten habe, danke. –

+0

Sie haben keinen Computer, Sie haben ein Telefon, eines der Prinzip der mobilen Programmierung ist, App hell zu halten, also, warum brauchen Sie 2 Schemas mit der gleichen Struktur? In Realm bedeutet das, dass du 2 Klassen mit derselben Struktur (Params) hast, und das hat keinen Sinn! Speichern Sie einfach jeden Eintrag in einem Schema! –

+0

Ich habe die Frage aktualisiert, um zu erklären, was ich erreichen möchte. –

1

Sie können das nicht mit Realm tun, aber Sie müssen auch nicht an erster Stelle. Sie können dieses Problem mit nur einer Schemaklasse und ordnungsgemäß definierten Abfragen/Flags beheben, die den Status angeben.