Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Stellen Sie eine Connect zu einer MongoDB-Datenquelle her
Die MongoDB-Datenquelle ermöglicht es Ihnen, Daten aus MongoDB in Amazon Managed Grafana zu visualisieren.
Anmerkung
Diese Datenquelle ist nur für Grafana Enterprise bestimmt. Weitere Informationen finden Sie unter Zugriff auf Enterprise-Plug-ins verwalten.
In Workspaces, die Version 9 oder neuer unterstützen, müssen Sie für diese Datenquelle möglicherweise außerdem das entsprechende Plugin installieren. Weitere Informationen finden Sie unter Erweitere deinen Workspace mit Plugins.
Verwendung
Abfrage-Editor
Der Abfrage-Editor unterstützt dieselbe Syntax wie die MongoDB-Shell, mit einigen Einschränkungen: * Sie können nur einen Befehl/eine Abfrage ausführen. * Es werden nur Lesebefehle unterstützt: Suchen und Aggregieren * Die meisten Objektkonstruktoren werden nicht unterstützt (mit Ausnahme von ISODate, das unterstützt wird)
Der Editor erweitert die MongoDB-Shell-Syntax auf folgende Weise:
-
Datenbankauswahl — Sie können den Namen der Datenbank anstelle des normalen „db“ angeben:
Anmerkung
Sie können weiterhin „db“ verwenden. Es bezieht sich auf die Standarddatenbank in Ihrer Verbindungszeichenfolge.
sample_mflix.movies.find()
-
Aggregierte Sortierung — Normalerweise erfolgt die Sortierung mit einem Schritt innerhalb der Aggregate-Pipeline, das kostenlose Kontingent von MongoDB Atlas erlaubt jedoch keine Sortierung. Wir haben die Syntax erweitert, um dies auch für Benutzer des kostenlosen Kontingents zu ermöglichen.
Anmerkung
MongoDB führt die Sortierung nicht mit dieser Syntax durch. Die Sortierung erfolgt, nachdem die Ergebnisse aus der Sammlung abgefragt wurden.
sample_mflix.movies.aggregate({}).sort({"time": 1})
-
Bei leerem Editor zeigt Strg + Leertaste eine Auswahl aller verfügbaren Datenbanken an.
-
Wenn Sie nach der Datenbank einen Punkt eingeben, wird eine Auswahl aller verfügbaren Sammlungen für diese Datenbank angezeigt.
-
Wenn Sie nach der Sammlung einen Punkt eingeben, werden die verfügbaren Abfragemethoden angezeigt.
-
Wenn Sie nach der Abfragemethode einen Punkt eingeben, werden zusätzliche Funktionen angezeigt: sortieren/einschränken.
Die Abfrage wird ausgeführt
Drücken Sie Cmd + S, um die Abfrage auszuführen
Zeitreihen
Bei der Visualisierung von Zeitreihendaten muss das Plugin wissen, welches Feld als Uhrzeit verwendet werden soll. Projizieren Sie das Feld einfach mit dem Aliasnamen „Zeit“. Der Felddatentyp muss ein Datum sein.
Sie können Datentypen, die kein Datum haben, auf ein Datum festlegen. Auf diese Weise können Sie Felder ohne Datum als Zeitreihenzeit verwenden. Das folgende Beispiel zeigt, wie das Int-Feld „year“ mit dem MongoDB dateFromParts $-Pipeline-Operator in ein Datum konvertiert wird, das als „Zeit“ projiziert wird.
sample_mflix.movies.aggregate([ {"$match": { "year": {"$gt" : 2000} }}, {"$group": { "_id": "$year", "count": { "$sum": 1 }}}, {"$project": { "_id": 0, "count": 1, "time": { "$dateFromParts": {"year": "$_id", "month": 2}}}} ] ).sort({"time": 1})
Diagnose
Die folgenden Diagnosebefehle werden derzeit unterstützt: „stats“, „serverStatus“, "replSetGetStatus“, „getLog“, "„, „connectionStatus“, connPoolStats „buildInfo“, „dbStats“, „HostInfo“, „LockInfo“
Beispiele:
admin.connectionStatus() // run the connectionStatus command admin.connectionStatus({"authInfo.authenticatedUserRoles": 1}) // run and only return the "authInfo.authenticatedUserRoles" field admin.connPoolStats({arg: "pool"}) // run the connPoolStats command and pass 1 argument admin.serverStatus({args: {repl: 0, metrics:0}}) // run the serverStatus command and pass multiple args
Makros
Sie können in Ihren Abfragen auf den Zeitbereich des Dashboards verweisen.
-
$__timeFrom
— ein Makro, das auf die Startzeit des Dashboards verweist -
$__timeTo
— ein Makro, das auf die Endzeit des Dashboards verweist
$__timeTo - ``` sample_mflix.movies.find({released: {$gt: "$__timeFrom"}}).sort({year: 1})
Vorlagenvariablen
MongoDB unterstützt die Idee von „Compound Variables“, die es Ihnen ermöglichen, eine Variable als mehrere Variablen zu verwenden, um komplexe Mehrschlüsselfilter durchzuführen.
Um eine zusammengesetzte Variable zu erstellen, verwenden Sie die Namenskonvention, die Variablen durch Unterstriche aufzuteilen (muss mit einem Unterstrich beginnen): _var1_var2
Bei der Abfrage muss die Antwort das folgende Format haben: val1-val2
Beispiel: Ich möchte die Ergebnisse sowohl nach dem Filmnamen als auch nach dem Jahr filtern.
-
Erstellen Sie eine Variable vom Typ Query:
_movie_year
-
Stellen Sie die Variablenabfrage auf eine Abfrage ein, die ein Array von Elementen mit einer Eigenschaft für das Filmjahr zurückgibt, wie im folgenden Beispiel gezeigt.
// Example sample_mflix.movies.aggregate([ {"$match": {year: {"$gt": 2011}}}, {"$project": {_id: 0, movie_year: {"$concat": ["$title", " - ", {"$toString":"$year"}]}}} ])
// [{"movie-year": "Ted - 2016"}, {"movie-year": "The Terminator - 1985"}]
-
Jetzt können Sie in Ihrer Abfrage mit der Syntax „$_variable“ auf „Film“ und „Jahr“ als separate Vorlagenvariablen verweisen.
Verwenden von Ad-hoc-Filtern
Zusätzlich zur Standardvariable vom Typ „Ad-hoc-Filter“ mit beliebigem Namen muss eine zweite Hilfsvariable erstellt werden. Es sollte ein „konstanter“ Typ mit dem Namen `mongodb_adhoc_query` und einem Wert sein, der mit dem Abfrage-Editor kompatibel ist. Das Abfrageergebnis wird verwendet, um die auswählbaren Filter zu füllen. Sie können sich dafür entscheiden, diese Variable aus der Ansicht auszublenden, da sie keinem weiteren Zweck dient.
sample_mflix.movies.aggregate([ {"$group": { "_id": "$year"}}, {"$project": { "year": "$_id","_id": 0 }} ] )