MongoDB installieren
Die Datenbank MongoDB installieren wir in mehreren Schritten. Ich empfehle auf der offiziellen Seite nach der aktuellsten Version zu schauen.
__$ sudo apt-get update
__$ sudo apt-get install gnupg
__$ wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
__$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
__$ sudo apt-get install -y mongodb-org
Öffnen wir mal die Hauptkonfigurationsdatei von MongoDB mit less
.
__$ sudo less /etc/mongod.conf
/etc/mongod.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
In der Ausgabe können wir sehen:
- Daten:
/var/lib/mongodb
- Logdatei:
/var/log/mongodb/mongod.log
- Adresse:
127.0.0.1
- Port:
27017
Die Version kann mit --version
abgefragt werden:
__$ mongo --version
Standard Befehle zu MongoDB
MongoDB starten:
__$ sudo systemctl start mongod
MongoDB stoppen:
__$ sudo systemctl stop mongod
MongoDB neustarten:
__$ sudo systemctl restart mongod
MongoDB Status:
__$ sudo systemctl status mongod
MongoDB Shell über die Kommandozeile
MongoDB Konsole starten:
__$ mongo
Die MongoDB Shell:
MongoDB shell version v5.0.4
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("2546fe7e-f27b-47c5-bde4-a486830256a9") }
MongoDB server version: 5.0.4
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
https://community.mongodb.com
---
The server generated these startup warnings when booting:
2022-01-03T12:53:35.053+00:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
2022-01-03T12:53:36.787+00:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
---
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>
Alle Datenbanken anzeigen:
__gt show databases;
Zur Datenbank admin
wechseln:
__gt use admin;
Einen neuen Benutzer namens admin
mit allen Privilegien anlegen:
__gt db.createUser({
user: "admin",
pwd: "MyPassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
});
Eine neue Datenbank anlegen:
__gt use MyDatabase;
Eine neu angelegte Datenbank wird durch show databases;
nicht angezeigt, solange sie leer ist!
Eine Collection mit einem Dokument einfügen:
__gt db.MyCollection.insert({ key: "val" });
Collections auflisten:
__gt show collections;
Inhalt einer Collection auflisten:
__gt db.MyCollection.find().pretty();
pretty()
ist ein Zusatz, um die Ausgabe strukturiert und leserlicher darzustellen.
Weiteres Dokument einfügen:
__gt db.MyCollection.insert({ key: "val2" });
Einzelnes Dokument löschen:
__gt db.MyCollection.deleteOne({ key: "val2" });
Statistiken der aktuellen Datenbank ausgeben:
__gt db.stats();
Collection löschen:
__gt db.MyCollection.drop();
Aktuelle Datenbank löschen:
__gt db.dropDatabase();
Die MongoDB Shell verlassen:
__gt exit