MongoDB Spickzettel

MongoDB Spickzettel

  • Orchestrierung
6 Minuten Lesezeit Aktualisiert May 27, 2020

Auf einen Blick: Ein Spickzettel bietet wichtige MongoDB-Befehle für Nutzer und verbessert ihre Fähigkeit, Datenbanken effektiv zu verwalten. Es behandelt die Befehlssyntax für das Erstellen von Sammlungen, Indexierung, Datenmanipulation und Abfragen.

  • Enthält Befehle für das Sammlungsmanagement und die Datenoperationen.
  • Details zu Replikations-, Sharding- und Aggregationsfunktionen.

Im Rahmen unseres MongoDB-Leitfadens haben wir dieses Spickzettel mit häufigen und weniger häufigen MongoDB-Befehlen zusammengestellt.

Inhaltsverzeichnis

Pretty Print

Sammlung erstellen

Indizes erstellen

Index erstellen

Sparse-Index erstellen

Erstellen Sie einen zusammengesetzten Index

Geo-Index erstellen

Partiellen Index erstellen

Daten hinzufügen und löschen

Fügen Sie einen Datensatz hinzu

Fügen Sie Array-(viele) Datensätze hinzu

Daten löschen

Abfrage von MongoDB-Dokumenten

Suche nach Attribut

Suche nach Geolokalisierung

Suche größer oder kleiner als

Suche nicht gleich

Suche und Rückgabe nur bestimmter Felder

Suche nach regulärem Ausdruck

Finden nach Elementen im Array

Replikation und Sharding

Replikation aktivieren

Splitter hinzufügen

Show-Server-Speicher

Aggregierte Funktionen

MapReduce

Pretty Print

Füge pretty() am Ende jeder Suche hinzu:

Erstellen Sie einen zusammengesetzten Index

Partiellen Index erstellen

Fügen Sie Array-(viele) Datensätze hinzu

Abfrage von MongoDB-Dokumenten

Suche nach Attribut

Suche nach Geolokalisierung

Suche größer oder kleiner als

Suche und Rückgabe nur bestimmter Felder

Suche nach regulärem Ausdruck

Finden nach Elementen im Array

Replikation und Sharding

    db.collection.find({}).pretty()

Sammlung erstellen

    db.createCollection("")

Indizes erstellen

Index erstellen

Das Format lautet {Attribut : sortOrder}, wobei die Sortierreihenfolge -1 (absteigend) oder 1 (aufsteigend) ist.

    db.cars.createIndex( { make: 1 } )

Sparse-Index erstellen

Dies indexiert keine Dokumente, die dieses Attribut nicht besitzen.

    db.products.createIndex({product:-1},{sparse: true})

Erstellen Sie einen zusammengesetzten Index

    db.cars.createIndex( { make: 1 , model: -1} )

Geo-Index erstellen

    db.address.createIndex( { "location": "2dsphere"} )

Dies indexiert die Dokumente, die den Suchkriterien entsprechen.

    db.students.createIndex(
{ age: 1},
{ partialFilterExpression: { age: { $gt: 14}}}
)

Daten hinzufügen und löschen

Fügen Sie einen Datensatz hinzu

Daten löschen

    db.cars.insert([
{
vin: 1111111111,
model: 'SK-202',
make: 'Mercedes'
}
])

Fügen Sie Array-(viele) Datensätze hinzu

    db.cars.insertMany([
{
vin: 1111111111,
model: 'SK-202',
make: 'Mercedes'
},
{
vin: 2222222,
model: 'Cabriolet',
make: 'Chevrolet' }
])

Daten löschen

    db.cars.remove({"make": "Chevrolet"})

Abfrage von MongoDB-Dokumenten

Abfrage von MongoDB-Dokumenten

    db.cars.find({ "make": "Mercedes"}

Suche nach Geolokalisierung

    db.address.find ({
location: {
$near: {
$geometry: {
type: "Point" ,
coordinates: [ -72.7738706,41.6332836 ]
},
$maxDistance: 4,
$minDistance: 0
}
}
})

Suche größer oder kleiner als

    db.sales.find({"price": {$gt: 100}})

Suche nicht gleich

    db.cars.find({make: {$not: {$eq: "Mercedes"}}})

Das nennt man Projektion.

Zeigen Sie nur das Markierungsfeld:

    db.cars.find({make: "Mercedes"}, {vin: -1})

Zeigen Sie jedes Feld außer dem Make-Feld:

    db.cars.find({make: "Mercedes"}, {vin: 0})

Du kannst den Schrägstrich oder Anführungszeichen als Trennzeichen verwenden.

Groß- und Kleinschreibung:

    db.cars.find({"make": {$regex: /^M.*/}})

Groß- und Kleinschreibung:

    db.cars.find({"make": {$regex: /^merc.*/, $options: "i"}} )

Dies entspricht Dokumenten, die all diese Array-Elemente enthalten:

    db.manufacturers.find({"name": {$all: [ "Mercedes", "Ford" ]}} )

Übereinstimmung bei jedem Element im Array:

    db.manufacturers.find({"name": "Ford"} )

Replikation aktivieren

Verbinden Sie sich dann mit einem Konfigurationsserver:

    rs.initiate()

Und dann den Replikationsstatus anzeigen:

    rs.status()

Splitter hinzufügen

Verbinden Sie sich mit dem Abfragerouter-(Mongos-)Server. 27018 ist in diesem Beispiel die Portnummer eines Shard-Servers

    sh.addShard( "ShardReplSet/172.31.47.43:27018")

Show-Server-Speicher

    db.serverStatus().mem

Aggregierte Funktionen

Dies ist dasselbe wie die SQL-Auswahlanzahl(*) aus Wortgruppen für Wörter. Dies ist das Wortzählprogramm.

    db.words.aggregate([ {$group: { _id: "$word", cnt: {$sum: 1} } } ])

MapReduce

Du kannst dieselbe Wortzählfunktion mit der Map-Operation ausführen:

    db.words.mapReduce(
function() { emit(this.word,1); },
function(key, values) {return Array.sum(values)}, {
query:{},
} out:"total_matches"
).find()

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus Orchestrierung

Interessieren Sie sich für mehr von BMC?

The Brief ist unsere monatliche E-Mail zum Mainframe und zur Enterprise-Orchestrierung: Recherchen, Kundenberichte, Produktnachrichten, Events.

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Sie haben The Brief abonniert

Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.