Verwenden Sie die grundlegenden MongoDB-Typen

MongoDBMongoDBBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie mit verschiedenen Datentypen in MongoDB arbeiten, einschließlich Zahlen, Zeichenketten, Booleans, Daten und Objekt-IDs. Das Lab behandelt praktische Beispiele dazu, wie Sie Daten unterschiedlicher Typen in Ihrer MongoDB-Datenbank speichern, abfragen und manipulieren. Sie erhalten praktische Erfahrungen bei der Ausführung üblicher Operationen und dem Verständnis der geeigneten Anwendungsfälle für jeden Datentyp.

Das Lab ist in fünf Hauptschritte unterteilt: Arbeiten mit Zahlen, Umgang mit Zeichenketten-Daten, Verwendung von Boolean-Werten, Speichern von Datum und Uhrzeit und Verwaltung von Objekt-IDs. Jeder Schritt bietet einen detaillierten Leitfaden, zeigt die relevanten MongoDB-Befehle und die einzigartigen Merkmale und Anwendungen der jeweiligen Datentypen auf.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mongodb(("MongoDB")) -.-> mongodb/BasicOperationsGroup(["Basic Operations"]) mongodb(("MongoDB")) -.-> mongodb/QueryOperationsGroup(["Query Operations"]) mongodb(("MongoDB")) -.-> mongodb/DataTypesGroup(["Data Types"]) mongodb/BasicOperationsGroup -.-> mongodb/insert_document("Insert Document") mongodb/BasicOperationsGroup -.-> mongodb/update_document("Update Document") mongodb/QueryOperationsGroup -.-> mongodb/find_documents("Find Documents") mongodb/QueryOperationsGroup -.-> mongodb/query_with_conditions("Query with Conditions") mongodb/DataTypesGroup -.-> mongodb/use_numeric_data_types("Use Numeric Data Types") mongodb/DataTypesGroup -.-> mongodb/use_string_data_types("Use String Data Types") subgraph Lab Skills mongodb/insert_document -.-> lab-422097{{"Verwenden Sie die grundlegenden MongoDB-Typen"}} mongodb/update_document -.-> lab-422097{{"Verwenden Sie die grundlegenden MongoDB-Typen"}} mongodb/find_documents -.-> lab-422097{{"Verwenden Sie die grundlegenden MongoDB-Typen"}} mongodb/query_with_conditions -.-> lab-422097{{"Verwenden Sie die grundlegenden MongoDB-Typen"}} mongodb/use_numeric_data_types -.-> lab-422097{{"Verwenden Sie die grundlegenden MongoDB-Typen"}} mongodb/use_string_data_types -.-> lab-422097{{"Verwenden Sie die grundlegenden MongoDB-Typen"}} end

Arbeiten mit Zahlen

In diesem Schritt lernen Sie, wie Sie mit numerischen Datentypen in MongoDB arbeiten und verschiedene Möglichkeiten zur Speicherung und Manipulation von Zahlen in Ihrer Datenbank erkunden.

Das Verständnis von numerischen Typen in MongoDB

MongoDB unterstützt mehrere numerische Datentypen, einschließlich Ganzzahlen und Gleitkommazahlen. Lassen Sie uns beginnen, indem wir die MongoDB-Shell starten und diese Typen erkunden.

Öffnen Sie zunächst Ihren Terminal und starten Sie die MongoDB-Shell:

mongosh

Erstellen wir nun eine Datenbank und eine Sammlung, um numerische Operationen zu demonstrieren:

use numbers_lab
db.createCollection("products")

Einfügen von Ganzzahlen und Dezimalzahlen

Fügen wir einige Produkte mit unterschiedlichen numerischen Typen hinzu:

db.products.insertMany([
    {
        name: "Laptop",
        price: 999,           // Ganzzahl
        stock: 50,            // Ganzzahl
        discount: 0.1,        // Dezimalzahl
        rating: 4.5           // Gleitkommazahl
    },
    {
        name: "Smartphone",
        price: 599,
        stock: 100,
        discount: 0.15,
        rating: 4.7
    }
])

Beispielausgabe

{
  acknowledged: true,
  insertedIds: {
    '0': ObjectId("..."),
    '1': ObjectId("...")
  }
}

Numerische Operationen

MongoDB ermöglicht Ihnen, verschiedene numerische Operationen durchzuführen. Lassen Sie uns einige demonstrieren:

// Suchen Sie Produkte mit einem Preis von mehr als 500
db.products.find({ price: { $gt: 500 } })

// Aktualisieren Sie den Lagerbestand um einen bestimmten Betrag
db.products.updateOne(
    { name: "Laptop" },
    { $inc: { stock: 10 } }
)

// Suchen Sie Produkte mit einer Bewertung von über 4
db.products.find({ rating: { $gte: 4 } })

Wichtige Punkte, die Sie sich merken sollten

  • Ganzzahlen sind ganze Zahlen ohne Dezimalpunkte
  • Gleitkommazahlen können Dezimalstellen besitzen
  • MongoDB verwendet $gt (größer als), $lt (kleiner als), $inc (inkrementieren) für numerische Operationen

Umgang mit Zeichenketten-Daten

In diesem Schritt lernen Sie, wie Sie mit Zeichenketten-Datentypen in MongoDB arbeiten und verschiedene Möglichkeiten zur Speicherung, Abfrage und Manipulation von Textdaten in Ihrer Datenbank erkunden.

Das Verständnis von Zeichenketten-Typen in MongoDB

MongoDB bietet leistungsstarke Zeichenkettenbearbeitungsmöglichkeiten. Wir werden die in Schritt zuvor erstellte Datenbank weiterhin verwenden, um Zeichenkettenoperationen zu demonstrieren.

Stellen Sie zunächst sicher, dass Sie in der MongoDB-Shell sind:

mongosh

Wechseln Sie zur vorhandenen Datenbank:

use numbers_lab

Einfügen und Abfragen von Zeichenketten-Daten

Fügen wir weitere Dokumente mit Zeichenkettenfeldern hinzu:

db.products.insertMany([
    {
        name: "Wireless Headphones",
        brand: "TechSound",
        description: "High-quality noise-canceling headphones",
        color: "Black",
        tags: ["electronics", "audio", "wireless"]
    },
    {
        name: "Smart Watch",
        brand: "FitTech",
        description: "Advanced fitness tracking smartwatch",
        color: "Silver",
        tags: ["wearables", "fitness", "technology"]
    }
])

Zeichenketten-Abfrageoperationen

MongoDB bietet verschiedene Möglichkeiten, Zeichenketten-Daten abzufragen:

// Suchen Sie Produkte nach genauer Bezeichnung
db.products.find({ name: "Smart Watch" })

// Groß-/Kleinschreibung-unabhängige Suche mit regulärer Ausdruck
db.products.find({ brand: { $regex: /tech/i } })

// Suchen Sie in einem Array von Tags
db.products.find({ tags: "electronics" })

Zeichenketten-Manipulationsmethoden

Sie können auch Zeichenkettenoperationen durchführen:

// Aktualisieren Sie die Beschreibung
db.products.updateOne(
    { name: "Wireless Headphones" },
    { $set: { description: description.toUpperCase() } }
)

// Überprüfen Sie die Zeichenkettengöße
db.products.find({
    $expr: { $gt: [{ $strLenCP: "$name" }, 10] }
})

Wichtige Punkte, die Sie sich merken sollten

  • Zeichenketten in MongoDB sind UTF-8-codiert
  • Verwenden Sie $regex für Musterabgleich
  • Arrays können Zeichenkettelemente enthalten
  • MongoDB unterstützt verschiedene Zeichenketten-Manipulationsmethoden

Verwenden von Boolean-Werten

In diesem Schritt lernen Sie, wie Sie mit Boolean-Datentypen in MongoDB arbeiten und wie Sie in Ihrer Datenbank Wahrheitswerte (true/false) speichern, abfragen und verwenden.

Das Verständnis von Boolean-Typen in MongoDB

Boolean-Werte sind von entscheidender Bedeutung für die Darstellung von wahr/falsch-Bedingungen in Ihren Daten. Wir werden unsere vorhandene Datenbank weiterhin verwenden, um Boolean-Operationen zu demonstrieren.

Stellen Sie zunächst sicher, dass Sie in der MongoDB-Shell sind:

mongosh

Wechseln Sie zur vorhandenen Datenbank:

use numbers_lab

Einfügen von Dokumenten mit Boolean-Feldern

Fügen wir Produkte mit Boolean-Attributen hinzu:

db.products.insertMany([
    {
        name: "Premium Bluetooth Speaker",
        isWireless: true,
        isInStock: true,
        hasBluetooth: true,
        supportsBattery: true
    },
    {
        name: "Wired Gaming Headset",
        isWireless: false,
        isInStock: false,
        hasBluetooth: false,
        supportsBattery: false
    }
])

Boolean-Abfrageoperationen

MongoDB bietet leistungsstarke Möglichkeiten, Boolean-Felder abzufragen:

// Suchen Sie nach drahtlosen Produkten
db.products.find({ isWireless: true })

// Suchen Sie nach Produkten, die nicht auf Lager sind
db.products.find({ isInStock: false })

// Komplexe Boolean-Abfragen
db.products.find({
    $and: [
        { isWireless: true },
        { hasBluetooth: true }
    ]
})

Aktualisieren von Boolean-Werten

Sie können Boolean-Felder leicht aktualisieren:

// Aktualisieren Sie den Lagerstatus
db.products.updateOne(
    { name: "Wired Gaming Headset" },
    { $set: { isInStock: true } }
)

// Umschalten eines Boolean-Werts
db.products.updateOne(
    { name: "Premium Bluetooth Speaker" },
    { $not: { isWireless: true } }
)

Wichtige Punkte, die Sie sich merken sollten

  • Boolean-Werte sind entweder true oder false
  • Verwenden Sie logische Operatoren wie $and, $or für komplexe Abfragen
  • Boolean-Felder eignen sich gut für Flags und Statusverfolgung
  • MongoDB behandelt Boolean-Felder wie alle anderen Datentypen

Datum und Uhrzeit speichern

In diesem Schritt lernen Sie, wie Sie mit Datum- und Uhrzeit-Datentypen in MongoDB arbeiten und verschiedene Möglichkeiten zur Speicherung, Abfrage und Manipulation von zeitlichen Daten erkunden.

Das Verständnis von Datumstypen in MongoDB

MongoDB bietet leistungsstarke Datum- und Uhrzeit-Bearbeitungsmöglichkeiten. Wir werden unsere vorhandene Datenbank weiterhin verwenden, um Datumsoperationen zu demonstrieren.

Stellen Sie zunächst sicher, dass Sie in der MongoDB-Shell sind:

mongosh

Wechseln Sie zur vorhandenen Datenbank:

use numbers_lab

Einfügen von Dokumenten mit Datumsfeldern

Fügen wir Produkte mit verschiedenen datumbezogenen Feldern hinzu:

db.products.insertMany([
    {
        name: "Laptop Pro",
        releaseDate: new Date(),
        lastUpdated: new Date(),
        warrantyExpiration: new Date("2025-12-31"),
        manufacturingDate: new Date("2023-01-15")
    },
    {
        name: "Smartphone Elite",
        releaseDate: new Date("2023-06-01"),
        lastUpdated: new Date(),
        warrantyExpiration: new Date("2024-06-01"),
        manufacturingDate: new Date("2023-05-15")
    }
])

Datums-Abfrageoperationen

MongoDB bietet anspruchsvolle Datumsabfragefähigkeiten:

// Suchen Sie Produkte, die nach einem bestimmten Datum veröffentlicht wurden
db.products.find({
    releaseDate: { $gt: new Date("2023-01-01") }
})

// Suchen Sie Produkte, deren Garantie in nächstem Jahr abläuft
db.products.find({
    warrantyExpiration: {
        $gte: new Date(),
        $lt: new Date(new Date().setFullYear(new Date().getFullYear() + 1))
    }
})

// Holen Sie sich Produkte, die in einem bestimmten Monat hergestellt wurden
db.products.find({
    $expr: {
        $eq: [{ $month: "$manufacturingDate" }, 5]
    }
})

Datums-Manipulationsmethoden

Sie können verschiedene datumbezogene Operationen durchführen:

// Aktualisieren Sie das letzte Aktualisierungsdatum
db.products.updateOne(
    { name: "Laptop Pro" },
    { $currentDate: { lastUpdated: true } }
)

// Fügen Sie Tagen zu einem Datum hinzu
db.products.updateOne(
    { name: "Smartphone Elite" },
    {
        $set: {
            extendedWarranty: new Date(
                new Date("2024-06-01").setDate(
                    new Date("2024-06-01").getDate() + 30
                )
            )
        }
    }
)

Wichtige Punkte, die Sie sich merken sollten

  • MongoDB speichert Datum als vollständige Datumsobjekte
  • Verwenden Sie new Date() zum Erstellen eines aktuellen Zeitstempels
  • Vergleichen Sie Datum mit Vergleichsoperatoren
  • MongoDB bietet Methoden zum Extrahieren von Datumskomponenten
  • Datum wird standardmäßig in UTC gespeichert

Verwalten von ObjectIds

In diesem Schritt lernen Sie über ObjectIds in MongoDB kennen, verstehen, wie sie als eindeutige Bezeichner funktionieren und wie Sie sie in Ihrer Datenbank manipulieren können.

Das Verständnis von ObjectIds in MongoDB

ObjectIds sind spezielle Bezeichner, die von MongoDB automatisch für jedes Dokument generiert werden. Wir werden ihre Eigenschaften und Verwendung untersuchen.

Stellen Sie zunächst sicher, dass Sie in der MongoDB-Shell sind:

mongosh

Wechseln Sie zur vorhandenen Datenbank:

use numbers_lab

Erstellen und Untersuchung von ObjectIds

Lassen Sie uns Dokumente einfügen und ihre eindeutigen Bezeichner untersuchen:

// Fügen Sie ein Dokument hinzu und beobachten Sie seine ObjectId
db.users.insertOne({
    username: "johndoe",
    email: "john@example.com",
    registrationDate: new Date()
})

// Holen Sie sich das eingefügte Dokument
const newUser = db.users.findOne({ username: "johndoe" })

ObjectId-Eigenschaften und -Methoden

ObjectIds enthalten mehrere interessante Eigenschaften:

// Holen Sie sich den Zeitstempel der ObjectId
const timestamp = newUser._id.getTimestamp()
print("Dokument erstellt am:", timestamp)

// Generieren Sie eine neue ObjectId
const customId = new ObjectId()
print("Benutzerdefinierte ObjectId:", customId)

Arbeiten mit ObjectIds in Abfragen

Sie können ObjectIds für das präzise Abrufen von Dokumenten verwenden:

// Suchen Sie das Dokument anhand seiner genauen ObjectId
db.users.findOne({ _id: newUser._id })

// Überprüfen Sie, ob eine ObjectId gültig ist
const isValid = ObjectId.isValid(newUser._id)
print("Ist die ObjectId gültig?", isValid)

Fortgeschrittene ObjectId-Operationen

MongoDB bietet Methoden zum Extrahieren und Manipulieren von ObjectIds:

// Vergleichen Sie ObjectIds
const anotherUser = db.users.insertOne({
    username: "janedoe",
    email: "jane@example.com"
})

// Überprüfen Sie, ob eine ObjectId kleiner als eine andere ist
const isEarlier = newUser._id < anotherUser.insertedId
print("Ist die ID des ersten Benutzers früher?", isEarlier)

Wichtige Punkte, die Sie sich merken sollten

  • ObjectIds sind eindeutige 12-Byte-Bezeichner
  • Sie enthalten einen Zeitstempel, eine Maschinenidentifizierung, eine Prozess-ID und einen Zufallswert
  • Jedem Dokument wird automatisch eine ObjectId zugewiesen, wenn keine andere angegeben wird
  • ObjectIds können zur Sortierung und zum Verfolgen der Dokumenterstellungszeit verwendet werden

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie mit verschiedenen numerischen Datentypen in MongoDB arbeiten, einschließlich Ganzzahlen und Gleitkommazahlen. Sie haben untersucht, wie numerische Daten eingefügt, abgefragt und aktualisiert werden können, indem Sie Operatoren wie $gt, $lt und $inc verwenden. Darüber hinaus haben Sie einen Überblick über die Verarbeitung von Zeichenketten-Daten, das Arbeiten mit Boolean-Werten, das Speichern von Datum- und Uhrzeitinformationen und das Verwalten von ObjectIds in Ihrer MongoDB-Datenbank erhalten.

Sie haben auch gelernt, wie verschiedene Zeichenkettenoperationen durchgeführt werden, wie das Abfragen, Aktualisieren und Manipulieren von Textdaten. In diesem Lab wurde die Verwendung verschiedener von MongoDB bereitgestellter Zeichenkettenbezogener Operatoren und Methoden behandelt, um effektiv mit textuellen Informationen in Ihren Anwendungen umzugehen.