MongoDB verwendet BSON (Binary JSON) als Format zur Speicherung und Verarbeitung von Daten. Dies ermöglicht die Unterstützung einer Vielzahl von Datentypen, die über das hinausgehen, was in standardmäßigem JSON verfügbar ist.
Diese Datentypen sind in JSON und BSON verfügbar und repräsentieren die grundlegenden Elemente für die Datenmodellierung.
Beschreibung: Zeichenketten in doppelten Anführungszeichen.
Beispiel:
{
"name": "Anna"
}Beschreibung: Unterstützt Ganzzahlen und Gleitkommazahlen.
Beispiel:
{
"alter": 30,
"groesse": 1.75
}Beschreibung: Logische Werte true
oder false.
Beispiel:
{
"student": true
}Beschreibung: Geordnete Listen von Werten.
Beispiel:
{
"fruechte": ["Apfel", "Banane", "Kirsche"]
}Beschreibung: Sammlung von Schlüssel-Wert-Paaren.
Beispiel:
{
"adresse": {
"strasse": "Hauptstraße 5",
"stadt": "Berlin"
}
}Beschreibung: Repräsentiert “keinen Wert”.
Beispiel:
{
"spitzname": null
}BSON erweitert JSON um zusätzliche Datentypen, die speziell für die Verarbeitung komplexer Daten in MongoDB nützlich sind.
Beschreibung: Ein 12-Byte langer eindeutiger
Identifier, der häufig als Primärschlüssel (_id) in MongoDB
verwendet wird.
Beispiel:
{
"_id": { "$oid": "507f1f77bcf86cd799439011" }
}Beschreibung: Speichert Datums- und Zeitangaben. Der Wert wird intern in Millisekunden seit der Unix-Epoche gespeichert.
Beispiel:
{
"geburtstag": { "$date": "2020-01-01T00:00:00Z" }
}Beschreibung: Binäre Daten, nützlich für das Speichern von Dateien, Bildern oder anderen binären Formaten.
Beispiel:
{
"profilBild": { "$binary": "SGVsbG8gd29ybGQ=", "$type": "00" }
}Beschreibung: Reguläre Ausdrücke zur Textsuche.
Beispiel:
{
"name": { "$regex": "^A" }
}Beschreibung: 32-Bit-Ganzzahlwert.
Beispiel:
{
"anzahl": { "$numberInt": "42" }
}Beschreibung: 64-Bit-Ganzzahlwert.
Beispiel:
{
"grosseZahl": { "$numberLong": "9223372036854775807" }
}Beschreibung: 64-Bit-Gleitkommazahlenwert.
Beispiel:
{
"pi": { "$numberDouble": "3.14159" }
}Beschreibung: Ein präziser 128-Bit-Decimal-Wert, ideal für Finanzdaten.
Beispiel:
{
"preis": { "$numberDecimal": "19.99" }
}Beschreibung: Spezielle Werte, die alle anderen BSON-Typen unter- bzw. überbieten. Nützlich für Vergleiche.
Beispiel:
{
"min": { "$minKey": 1 },
"max": { "$maxKey": 1 }
}| Datentyp | Beschreibung | JSON-Unterstützung |
|---|---|---|
| String | Zeichenkette | ✅ |
| Number | Ganzzahlen und Gleitkommazahlen | ✅ |
| Boolean | true oder false |
✅ |
| Array | Geordnete Liste von Werten | ✅ |
| Object | Sammlung von Schlüssel-Wert-Paaren | ✅ |
| null | Repräsentiert “keinen Wert” | ✅ |
| ObjectId | 12-Byte eindeutiger Identifier | ❌ |
| Date | Datum und Zeit | ❌ |
| BinData | Binäre Daten | ❌ |
| Regex | Reguläre Ausdrücke | ❌ |
| Int, Long, Double | 32-Bit, 64-Bit Ganzzahlen, Gleitkommazahlen | ❌ |
| Decimal128 | Präzise Dezimalzahlen | ❌ |
| MinKey, MaxKey | Minimaler und maximaler BSON-Wert | ❌ |