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