Aus dem Kurs: MongoDB Grundkurs

CRUD-Operationen: Insert – Tutorial zu MongoDB

Aus dem Kurs: MongoDB Grundkurs

CRUD-Operationen: Insert

In diesem Video werde ich Ihnen zeigen, wie Sie in einer MongoDB Daten hinzufügen können. Wir haben momentan in unserer MongoDB folgende Kollektionen: autos, zahlen und person. Und wir werden uns mit der Kollektion person beschäftigen. Diese enthält genau tausend Dokumente, kann man sich z. B. anschauen mit db.Person.count, genau 1000, und die ersten 20 Datensätze sehen so aus: db.Person.find. Wir haben also Personen mit einem Firstname, mit einem Lastname, mit einer E-Mail, Geschlecht und IP-Adresse. Möchten Sie z. B. nach allen Dokumenten suchen, die Personen enthalten mit Geschlecht männlich, dann funktioniert das mit dem Befehl db.Person.find, und in den runden Klammern geben wir ein ein JSON-Dokument, das das gesuchte Dokument beschreibt. Also gender: Male. Und schon erhalten wir alle Dokumente in unserer Kollektion, die männliche Personen darstellen. Das Suchergebnis, dass ich hier von MongoDB bekomme, ist relativ schwer zu lesen. Wenn Sie nur bestimmte Parameter innerhalb des Suchergebnisses haben möchten, so funktioniert das mit einer sogenannten Projektion. Hier nochmal die Suche, die wir vorhin ausgeführt haben. Und nun gebe ich ein weiteres MongoDB-Dokument als Parameter Nummer 2 in der find-Methode an, und in diesem Dokument beschreibe ich eine Projektion, d. h., ich beschreibe, welche Parameter ich in meinem Suchergebnis haben möchte. Möchte ich nur den Firstname haben, so, mache ich das mit first_name, d. h., den first_name möchte ich haben. Und schon erhalte ich lediglich den Firstname in meinem Suchergebnis, wobei die ID automatisch hinzugefügt wird, also die von MongoDB erzeugte ID. Möchte ich diese ID nicht dabei haben, dann muss ich das explizit machen und zwar mit dem weiteren Parameter in meiner Projektion _id, das ist der Name der automatisch erzeugten ID. Und ich sage _id:0. Also die ID soll nicht dabei sein. Und wenn ich das ausführe, dann erhalte ich lediglich den ersten Rahmen. Selbstverständlich kann ich meine Projektion erweitern und weitere Attribute hinzufügen. Also z. B. gender soll 1 sein, und schon erscheint auch hier das Geschlecht. Und dann wollen wir nochmal den Lastname hinzufügen. Möchte ich ein weiteres Dokument in meiner Kollektion hinzufügen, so funktioniert das mit dem Befehl Insert. Also db.person.insert, und dann gebe ich einfach das Dokument, das ich hinzufügen möchte. Z. B. first_name: "Christian", last_name: "Trutz", gender: "Male" und IP-Adresse 127.0.0.1. Geschweifte Klammer zu, runde Klammer zu. Ich bekomme die Rückmeldung von MongoDB, dass das Dokument hinzugefügt wurde, und wenn ich die Suche erneut ausführe, diesmal nicht nur mit Gender Male, sondern mit dem Lastname Trutz, dann erhalte ich hier das einzige Dokument mit Trutz als Lastname und Gender Male, mit dieser Projektion natürlich. Wichtig ist dabei auch zu wissen, dass nicht alle Dokumente innerhalb einer Kollektion immer die gleiche Struktur haben können. D. h., ich könnte auch ein Dokument in dieser Kollektion hinzufügen, das überhaupt gar kein Gender hat oder keine IP-Adresse oder gar keinen Lastname. Das wollen wir nun mal machen und zwar mit dem Befehl, den ich vorhin hatte. Und dann lasse ich die IP weg, ich lasse Gender weg, ich sage Firstname ist John und Lastname ist Doe, und erhalte wieder die Meldung von MongoDB, dass das Dokument hinzugefügt wurde.

Inhalt