MongoDB (Eingangsagent Cron)
Hinweis: Die Dokumentenart wird bei Verwendung dieses Eingangsagenten automatisch auf JSON (Dokumentenart) gesetzt.
Einstellungen
(1) Alias: Alias für die Verbindung zur Datenbank. Ein Datenbank-Alias ist eine konfigurierte Verbindung zu einem Datenbanksystem (siehe Abschnitt MongoDBConnectionService). Zusätzlich stehen alle im Profil definierten Variablen mit Präfix MSG_CALL_ zur Auswahl zur Verfügung. Dadurch ist es möglich, den Alias aus einem triggernden Profil oder mit einem HTTP-Aufruf zu übergeben. Hinweis: Im Interesse einer einfachen Prüfbarkeit sollten die Variablen mit einem Defaultwert definiert werden.
(2) Database: Die Database, auf die sich die Abfrage bezieht (analog zu einem Schema in einer SQL-Datenbank). Hinweis: Im Alias ist zwar bereits eine Database angegeben über den Parameter catalogName, aber Sie können den Wert für diese Verbindung hier im Eingangsagenten überschreiben.
(3) Collection: Die Collection, auf die sich die Abfrage bezieht (analog zu einer Tabelle in einer SQL-Datenbank).
(4) Ausgabeformat: Eine MongoDB speichert Datensätze als BSON-Dokumente. BSON ist eine binäre Darstellung von JSON-Dokumenten, enthält jedoch mehr Datentypen als JSON. Wenn Sie hier BSON wählen, dann werden Ihnen BSON-spezifische Datentypen im zurückgegebenen JSON Dokument angezeigt. Siehe Abschnitt unten. Hinweis: Siehe zum Thema auch den MongoPostexecutor.
(5) Max erlaubte Dokumente: Liefert eine Abfrage mehr als die hier angegebene Zahl von Dokumenten zurück, dann wird nur die angegebene Anzahl an Dokumenten eingelesen (hier 20), alle weitere werden ignoriert. Liefert die Abfrage also 22 Dokumente zurück, dann werden Dokument 21 und 22 ignoriert. Es wird dadurch aber kein Fehler erzeugt.
(6) Alle Dokumente zusammenfassen: Ist diese Checkbox gesetzt, dann werden alle von der Abfrage gefundenen Dokumente zu einem einzigen JSON Dokument zusammengefasst und es wird lediglich ein Job gestartet. Ist die Checkbox nicht gesetzt, dann wird jedes von der Abfrage gefundenen Dokument einzeln zurückgegeben und für jedes ein eigener Job gestartet.
(7) Query: Die auszuführende Abfrage. Auf die Abfragesprache wird hier nicht im Detail eingegangen, siehe hierzu die Dokumentation des Herstellers. Über das Kontextmenü können Abfragen gespeichert und gespeicherte Abfragen ausgewählt werden. Über einen weiteren Dialog können diese verwaltet werden. Beispiel: "{}".
Hinweis: Es können permanente Profil-Werte (Syntax %perm:KEYNAME%) verwendet werden, was aber nur in einem Profil-Lauf funktioniert und nicht über (9).
Hinweis: Wenn Sie eine Abfragen in geschweiften Klammern angeben (wie im Screenshot), wird die find()-Methode verwendet. Wenn Sie ein Array als Abfrage angeben (also in eckigen Klammern), wird automatisch die aggregate()-Methode verwendet. Beispiel:
[
{$match: {
"FAILED"
:
"false"
}},
{$group: {
"_id"
:
"$_id"
,
"PID"
: {
"$first"
:
"$PROFILE_ID"
},
"TOTAL"
: {$sum:
"$JOB"
}}}
]
(8) Projection: Über dieses Feld kann eine Abfrage mit Projection ausgeführt werden. Beispiel: "{FAILED:1}". Das würde die Abfrage "find({},{FAILED:1})" ausführen.
(9) Abfrage testen: Führt die Abfrage (7) testweise aus. Hinweis: Es wird im Test nur der erste Ergebnis-Datensatz angezeigt.
(10) Struktur erzeugen: Erzeugt eine zur Abfrage passende Quellstruktur. Achtung: Eine bereits vorhandene Quellstruktur wird dabei überschrieben!
Ausgabeformat BSON und JSON
Siehe Punkt (4). Folgend ein beliebiges Beispiel-Dokument zur Veranschaulichung der Unterschiede der beiden Ausgabeformate.
JSON
[{
"_id": "5ea94c0cfcba7e213485e8a4",
"JOB": 0,
"PROFILE": "httpin",
"PROFILE_ID": "6f6fbe3d:171c4d6b593:-7f28.d19731995bc0c589:6f6fbe3d:171c4d6b593:-8000",
"START": "2020-04-29T11:42:36.930Z",
"END": "2020-04-29T11:42:36.944Z",
"FAILED": false,
"FILENAME": "n.a.",
"BACKUP": "Job_0",
"CLIENT": "-1",
"ROLE": "",
"DISPLAY1": "",
"DISPLAY2": "",
"DISPLAY3": "",
"LOGPOOL": "STANDARD"
}]
BSON
[{
"_id": {
"$oid": "5ea94c0cfcba7e213485e8a4"
},
"JOB": {
"$numberLong": "0"
},
"PROFILE": "httpin",
"PROFILE_ID": "6f6fbe3d:171c4d6b593:-7f28.d19731995bc0c589:6f6fbe3d:171c4d6b593:-8000",
"START": {
"$date": {
"$numberLong": "1588153356930"
}
},
"END": {
"$date": {
"$numberLong": "1588153356944"
}
},
"FAILED": false,
"FILENAME": "n.a.",
"BACKUP": "Job_0",
"CLIENT": "-1",
"ROLE": "",
"DISPLAY1": "",
"DISPLAY2": "",
"DISPLAY3": "",
"LOGPOOL": "STANDARD"
}]