Hallo Leute,
ich hab mir in letzter Zeit MongoDB angesehen. An dieser Stelle komm ich nicht wirklich weiter vielleicht könnt Ihr helfen Danke
Plannung meiner DatenStruktur?
z.B.
Ich möchte eine NoSQL Kundendatenbank anlegen mit (Kundenummer, Name, Kauf1(...),Kauf2(...), ...)
12345 , Hans Meier,
Kauf1=("Schuhe", "Milch"," Papier", Betrag=90,49)
Kauf2 =("Tee", "Wurst", Betrag=15,56)
....
und bei jedem neuen Kauf voll das selbe KundenDokument(Record) um einen neuen Kaufvorgang ergänzt werden.
Wie lege ich eine Struktur an (MongoDB C# Driver), damit ich immer wieder neue Käufe zu dem einen Kundendokument hinzufügen kann. Ich dachte jedenfalls dass das Dokument dann immer erweitert werden soll, oder erzeugt man jedesmal ein neues Dokument (bei jedem Kaufvorgang)? Drei verschiedene Collections/Table (KundenDaten,ArtikelDaten,KaufDaten) erzeugen und diese dann mit ID verbinden wäre ja SQL nachgebaut, dass kann ja nicht gewollt sein?
Spoiler anzeigen
Hier komme ich dann nicht weiter bei der Instanziierung
Wie übergebe ich Artikel und Betrag und eigentlich ja auch nicht nur einen Artikel?
Kann sehr gut sein das mein ganzer Ansatz total falsch ist!
Frage:
Wie setzt man das KundenModel auf, damit man so zu sagen Stammdaten (Name KnNr) als DokumentenKopf hat und dann eine Liste an Kaufeinträgen die sich im DokumentKundenModel befindet?
ich hab mir in letzter Zeit MongoDB angesehen. An dieser Stelle komm ich nicht wirklich weiter vielleicht könnt Ihr helfen Danke
Plannung meiner DatenStruktur?
z.B.
Ich möchte eine NoSQL Kundendatenbank anlegen mit (Kundenummer, Name, Kauf1(...),Kauf2(...), ...)
12345 , Hans Meier,
Kauf1=("Schuhe", "Milch"," Papier", Betrag=90,49)
Kauf2 =("Tee", "Wurst", Betrag=15,56)
....
und bei jedem neuen Kauf voll das selbe KundenDokument(Record) um einen neuen Kaufvorgang ergänzt werden.
Wie lege ich eine Struktur an (MongoDB C# Driver), damit ich immer wieder neue Käufe zu dem einen Kundendokument hinzufügen kann. Ich dachte jedenfalls dass das Dokument dann immer erweitert werden soll, oder erzeugt man jedesmal ein neues Dokument (bei jedem Kaufvorgang)? Drei verschiedene Collections/Table (KundenDaten,ArtikelDaten,KaufDaten) erzeugen und diese dann mit ID verbinden wäre ja SQL nachgebaut, dass kann ja nicht gewollt sein?
C#-Quellcode
- public class KundenModel
- {
- [BsonId]
- public Guid ID { get; set; }
- public Int64 KnNr { get; set; }
- public string NachName { get; set; }
- public KaufModel[] Eintrag { get; set; }
- public KundenModel(long knNr, string nachName, KaufModel[] eintrag)
- {
- KnNr = knNr;
- NachName = nachName;
- Eintrag = eintrag;
- }
- }
- public class KaufModel
- {
- public string Artikel { get; set; }
- public decimal Betrag { get; set; }
- public VorgangModel(string artikel, decimal betrag)
- {
- Artikel = artikel;
- Betrag = betrag;
- }
- }
Hier komme ich dann nicht weiter bei der Instanziierung
db.InsertDocument("Kundekäufe", new KundenModel(1234, "Hans", new KaufModel[0]));
Wie übergebe ich Artikel und Betrag und eigentlich ja auch nicht nur einen Artikel?
Kann sehr gut sein das mein ganzer Ansatz total falsch ist!
Frage:
Wie setzt man das KundenModel auf, damit man so zu sagen Stammdaten (Name KnNr) als DokumentenKopf hat und dann eine Liste an Kaufeinträgen die sich im DokumentKundenModel befindet?
codewars.com Rank: 4 kyu