Tag 11
1 Dokumentationsaufträge
1.1 Dokumentation zur Übung "Import/Export/Backup/Restore und Queries"
1.1.1 Import
Mongo Cities 1000 importieren
mongoimport --db=cities --collection=cities --file=mongo_cities1000.json
1.1.2 Queries
Listen Sie alle Städte aus der Timezone "Europa" (alle Zeitzonen von Europa) auf.
db.cities.find({
timezone:{
$regex:"Europe"
}
},
{
_id:0,
name:1
})
1.1.3 Aggregate
Führen Sie die folgende Query auf Ihrer Datenbank aus:
db.cities.aggregate([
{
$match: {
'timezone': {
$eq: 'Europe/London'
}
}
},
{
$group: {
_id: 'averagePopulation',
avgPop: {
$avg: '$population'
}
}
}
])
Was macht die Query?
Zuerst werden alle Objekte mit der Zeitzone "Europe/London" gesucht. Anschliessend wird ein Durchschnitt von der Population mit der ID
averagePopulation
erstellt.
1.1.4 Sort
Führen Sie die folgende Query auf Ihrer Datenbank aus:
db.cities.aggregate([
{
$match: {
'timezone': {
$eq: 'Europe/London'
}
}
},
{
$sort: {
population: -1
}
},
{
$project: {
_id: 0,
name: 1,
population: 1
}
}
])
Was macht die Query?
Zuerst werden wieder alle Objekte mit der Zeitzone "Europe/London" gesucht. Anschliessend wird die Population absteigend (
-1
= Absteigend,1
= Aufsteigend)
1.1.5 Backup und Restore
Führen Sie von Hand (oder über Bash-Script) ein Backup und ein Restore für Ihre Testdatenbank durch
mongodump --archive=cities.20230603.archive --db=cities
mongorestore --archive=cities.20230603.archive --nsFrom="cities.*" --nsTo="cities2.*"
Um einen Klon in einem Befehl zu erstellen kann folgender Befehl genutzt werden.
mongodump --archive --db=cities | mongorestore --archive --nsFrom="cities.*" --nsTo="cities2.*"