Strukturfrage zu NoSQL

  • C#
  • .NET 4.5

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von nogood.

    Strukturfrage zu NoSQL

    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

    C#-Quellcode

    1. ​public class KundenModel
    2. {
    3. [BsonId]
    4. public Guid ID { get; set; }
    5. public Int64 KnNr { get; set; }
    6. public string NachName { get; set; }
    7. public KaufModel[] Eintrag { get; set; }
    8. public KundenModel(long knNr, string nachName, KaufModel[] eintrag)
    9. {
    10. KnNr = knNr;
    11. NachName = nachName;
    12. Eintrag = eintrag;
    13. }
    14. }
    15. public class KaufModel
    16. {
    17. public string Artikel { get; set; }
    18. public decimal Betrag { get; set; }
    19. public VorgangModel(string artikel, decimal betrag)
    20. {
    21. Artikel = artikel;
    22. Betrag = betrag;
    23. }
    24. }


    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?