Ich habe einen Dienst, der jeden Tag ein Online-Dokument analysieren. Ich möchte das auf einer Mongo-Datenbank speichern. Die Daten extrahiert wird so organisiert (ich jeden Tag eine Prozessliste haben):Mit Mongodb in einem täglichen Dienst
public class Process
{
public IList<Lawyer> Lawyers { get; set; }
public string Details { get; set; }
public DateTime Date { get; set; }
public Info AdditionalInfo { get; set; }
}
Also ich jeden Tag eine Liste der Prozesse speichern müssen. Meine Client-Anwendung wird diese Datenbank lesen und alle Prozesse eines gegebenen Anwalts dieses Tages durchsuchen und wie eine E-Mail-App anzeigen.
Wie kann ich meinen mongodb so strukturieren?
Ich werde zwischen 6k und 10k Prozesse pro Tag haben. Daily Dokument hat Prozesse für jeden Anwalt aus meinem Staat Jeder Anwalt wird höchstens 50 Prozesse pro Tag haben.
Also werde ich eine Webanwendung wie Google Mail haben, wo ein Anwalt alle seine Prozesse sehen wird.
Prozesse werden jeden Monat (oder 2) gelöscht, aber ich muss die Prozesse von meinen Kunden für immer behalten, oder bis er es wegwerfen.
Meine ursprüngliche Idee war es, Client-Prozesse in eine andere (?) Datenbank zu verschieben, die von 'Gmail' App verbraucht wird.
Also, wenn die Prozesse von meinen tatsächlichen Kunden sind, behalte ich es (bewegen?) Wenn es von einem Nicht-Client ist, lösche ich nach 1 Monat.
Was denkst du?
Dank
Das ist eine knifflige Frage. In der Tat gibt es mehrere Lösungen für Ihr Problem. Wie wäre es mit einer einzigen Sammlung, Prozesse zu speichern? – Odonno
Wird es eine gute Lösung Performance-weise sein, wenn ich alle Prozesse finden muss, die lawyer.id = 123 haben? – Paul
Auch hier gibt es mehrere Lösungen. Es hängt von deinem Input und deiner Ausgabe ab, denke ich. Filterung durch einen Anwalt ist nicht wirklich schlecht (in Bezug auf die Leistung oder Programmierkenntnisse). Können Sie uns sagen, wie viele Prozesse Sie von einer einzelnen Abfrage abrufen möchten? So können wir sehen, ob es machbar ist oder nicht. – Odonno