MongoDB Shell 4.2 Einfügen von mehreren Werten zu einem Eintrag

6. November 2020 Aus Von elsenorweb

Ich habe da aus Unwissenheit als Anfänger einen Fehler gemacht, den ich erst jetzt bemerkt habe.

Ich habe mir eine Datenbank aufgebaut, wo ich die Eigenprodukte der beiden Ketten EDEKA und REWE eintrage, die ich so kaufe. Es ist eher ein kleiner Gag. Vielleicht auch eine nette Übersicht über die Produkte, die ich so esse und vielleicht kann ich dann in einigen Jahren mal vergleichen, ob sich bei der Zusammensetzung etwas getan hat. Kann ja sein.

Auf jeden Fall habe ich auch ein Feld „Inhalte“ und bislang hatte ich die Sachen so eingetragen:

db.REWE.insertOne({„Inhalt“: „Zucker“, „Milch“, „Fett“});

mit

db.RWE.find({„Inhalt“: „Zucker“});

konnte MongoDB nichts finden. Diesen einzelnen Eintrag Zucker fand er nicht, obwohl ich ihn eingetragen hatte.

In meinem neuen Buch über MongoDB habe ich erfahren, dass man es auch so schreiben muss man es auch so schreiben:

db.REWE.insertOne({„Inhalt“: [„Zucker“, „Milch“, „Fett“]});

Also packt die vielen Einträge in ein Array rein. Ein Array ist eine Auflistung von Werten. Man findet Arrays in allen Programmiersprachen, die ich persönlich kenne.

Wenn man

db.RWE.find({„Inhalt“: „Zucker“});

eingibt, findet nun den Zucker auch bzw. in den anderen Einträgen, die so gestaltet worden sind.

Meine Hilfeseite über MongoDB habe ich bereits aktualisiert.