Oracle AI Database API für MongoDB verwenden
Mit der Oracle AI Database API für MongoDB können Sie mithilfe von MongoDB-Sprachtreibern und -Tools eine Verbindung zu Oracle Autonomous AI Database herstellen.
Die Oracle AI Database API for MongoDB nutzt die konvergierten Datenbankfunktionen einer autonomen KI-Datenbank, um mehrere Datentypen, einschließlich JSON-Daten, innerhalb einer einzigen Datenbank zu verwalten. Mit diesen konvergierten Datenbankfunktionen können Sie beispielsweise SQL verwenden, um JSON-Daten abzufragen oder zu aktualisieren.
Hinweis
Hinweis: Für MongoDB müssen Sie den Netzwerkzugriff für die Verwendung von ACLs konfigurieren oder einen privaten Endpunkt für die Instanz der autonomen KI-Datenbank definieren.
Weitere Informationen finden Sie unter Oracle AI Database API for MongoDB.
Weitere Informationen finden Sie unter Autonomous JSON Database.
Weitere Informationen finden Sie unter Workload-Typen für autonome KI-Datenbanken.
Zugriff für MongoDB konfigurieren und MongoDB aktivieren
Mit der Oracle AI Database API für MongoDB können Sie eine Oracle Autonomous AI Database als Datenspeicher verwenden.
Um die MongoDB-API zu verwenden, können Sie eine neue autonome KI-Datenbank erstellen und konfigurieren oder die Konfiguration einer vorhandenen autonomen KI-Datenbank ändern.
Hinweis
Hinweis: Für MongoDB müssen Sie den Netzwerkzugriff für die Verwendung von ACLs konfigurieren oder einen privaten Endpunkt für die Instanz der autonomen KI-Datenbank definieren. Sie müssen nicht nur den Netzwerkzugriff konfigurieren, sondern auch die MongoDB-API in der autonomen KI-Datenbankinstanz aktivieren.
Zugriff für MongoDB konfigurieren
Um die MongoDB-API zu verwenden, können Sie eine neue autonome KI-Datenbank erstellen und konfigurieren oder die Konfiguration einer vorhandenen autonomen KI-Datenbank ändern, indem Sie ACLs konfigurieren oder einen privaten Endpunkt definieren.
Neue autonome KI-Datenbank für MongoDB konfigurieren
Befolgen Sie die Schritte unter Autonome KI-Datenbank bereitstellen oder klonen bis zu dem Punkt, an dem Sie den Netzwerkzugriffstyp auswählen.

Beschreibung der Abbildung adb_network_access_acl_provision.png
Um jetzt die Oracle AI Database API for MongoDB zu verwenden, konfigurieren Sie den sicheren Zugriff, indem Sie einen der folgenden Netzwerkzugriffstypen auswählen und konfigurieren:
-
Sicherer Zugriff nur von zulässigen IPs und VCNs
-
Nur Zugriff über privaten Endpunkt
Informationen zum Konfigurieren einer autonomen KI-Datenbankinstanz mit einem privaten Endpunkt finden Sie unter Netzwerkzugriff mit privaten Endpunkten konfigurieren.
Vorhandene autonome KI-Datenbank für MongoDB konfigurieren
Öffnen Sie die Oracle Cloud Infrastructure-Konsole für Ihre autonome KI-Datenbankinstanz.

Beschreibung der Abbildung adb_ajd_console_details.png
Hinweis
Hinweis: Um die Oracle AI Database-API für MongoDB zu verwenden, muss das Netzwerk konfiguriert sein, und der Zugriffstyp muss entweder Sicherer Zugriff nur von zulässigen IPs und VCNs oder Nur privater Endpunktzugriff lauten.
Access-Control-Liste (ACL) einrichten
Weitere Informationen finden Sie unter Access Control-Listen für eine vorhandene autonome KI-Datenbankinstanz konfigurieren.
Um Ihre ACL für eine IP-Adresse zu konfigurieren, müssen Sie die öffentliche IP-Adresse beziehen. Es gibt mehrere Möglichkeiten, Ihre öffentliche IP-Adresse anzuzeigen:
-
Klicken Sie im Bereich "Netzwerkzugriff auswählen" auf Meine IP-Adresse hinzufügen. Dadurch wird Ihre IP-Adresse in das Feld Werte kopiert.
-
Nachdem Sie ein VPN deaktiviert haben, verwenden Sie die WhatIsMyIP-Website.
-
Nachdem Sie ein VPN deaktiviert haben, verwenden Sie den curl-Befehl:
curl -s https://ifconfig.me.
Hinweis
Hinweis: Öffentliche IP-Adressen können sich ändern. Jede Änderung Ihrer öffentlichen IP-Adresse erfordert eine Änderung der ACL. Wenn Sie nicht auf Ihre Datenbank zugreifen können, sollten Sie Ihre ACL überprüfen.
ACLs - Typen und Anwendungsfälle
| ACL-Typ | Anwendungsfall | Kommentar |
|---|---|---|
| IP-Adresse | Lokale Entwicklungs-Laptops mit derselben öffentlichen IP-Adresse | Der einfachste Weg, um loszulegen. Jeder Laptop, der mit diesem LAN verbunden ist, hat Zugriff auf die Datenbank mit den Datenbankzugangsdaten. |
| CIDR-Block | Lokaler Entwicklungs-Laptop | Verwenden der Notation IPv4/32 |
| Durch Komma getrennte IP-Adressen | Kleine Anzahl von lokalen Entwicklungs-Laptops, die über verschiedene LANs verbunden sind (mit unterschiedlichen öffentlichen IP-Adressen) | Kann mit mehr als 10 Laptops mühsam zu verwalten sein. |
| CIDR-Block | Lokale Entwicklungs-Laptops, die auf demselben Subnetz verbunden sind, das dem Internet ausgesetzt ist (jeder Laptop hat seine eigene öffentliche IP-Adresse) | Verlassen Sie sich auf CIDR-Blocknotation. Weitere Informationen finden Sie unter Rechner hier. Beispiel: 89.84.109.0/24 gibt 256 mögliche IP-Adressen von 89.84.109.0 bis 89.84.109.255 an |
| VCN mit CIDR-Block | Für auf OCI gehostete Test-, Produktions- oder CI/CD-Pipeline mit eigenen VCN- und Compute-Instanzen | Weisen Sie ein OCI-Compartment pro Umgebungstyp zu. |
| IP-Adresse und VCN mit CIDR-Block mischen | Lokaler Entwicklungs-Laptop, der auf eine autonome KI-Testdatenbank mit Verbindungen aus der Testumgebung oder CI/CD-Pipeline zugreift | Eine allgemeine Konfigurationsoption für laufende Entwicklungsarbeiten. |
API MongoDB in autonomer KI-Datenbank aktivieren
Nachdem Sie den Netzwerkzugriff für die Instanz der autonomen KI-Datenbank konfiguriert haben, aktivieren Sie die API MongDB.
So aktivieren Sie die MongoDB-API für eine vorhandene Instanz:
-
Wählen Sie auf der Detailseite der autonomen KI-Datenbank die Registerkarte Toolkonfiguration aus.
-
Klicken Sie auf Toolkonfiguration bearbeiten.
-
Wählen Sie in der MongoDB-API-Zeile in der Spalte Tool aktivieren die Option Aktiviert aus.
-
Klicken Sie auf Anwenden.
Der Lebenszyklusstatus wird so lange aktualisiert, bis MongoDB aktiviert ist.
Sie können die MongoDB-API auch beim Provisioning oder Klonen einer Instanz aktivieren, indem Sie Erweiterte Optionen anzeigen auswählen und die Registerkarte Extras auswählen.
Weitere Informationen finden Sie unter Integrierte Tools für autonome KI-Datenbanken verwalten.
Benutzerverwaltung für MongoDB
Mit der Oracle AI Database API für MongoDB können Sie eine Oracle Autonomous AI Database als Datenspeicher verwenden. Wenn Sie zu diesem Zweck eine vorhandene autonome KI-Datenbank verwenden möchten, finden Sie hier den Workflow.
Oracle AI Database API for MongoDB ermöglicht die Zuordnung von autonomen KI-Datenbankobjekten zu MongoDB-Objekten wie folgt:
| Objekt MongoDB | Oracle Autonomous AI Database-Objekt |
|---|---|
| Datenbank | Schema |
| Sammlung | Tabelle |
| Dokument | Dokument (in einer Spalte) |
Beispiel: Sie können eine Collection mit der Oracle AI Database API for MongoDB wie folgt erstellen:
use scott;
db.createCollection('fruit');Eine Tabelle mit dem Namen FRUIT wird im Schema SCOTT erstellt.
Wenn Sie eine Verbindung zur Oracle AI Database API für MongoDB herstellen, authentifizieren Sie sich mit einem Benutzernamen und Kennwort für die autonome KI-Datenbank. Diese authentifizierte Verbindung greift dann auf Collections innerhalb des entsprechenden Schemas zu. Dieser Benutzer muss die folgenden Anforderungen erfüllen:
-
Das Schema des Benutzers muss ORDS-fähig sein, was manchmal auch als für Web Access aktiviert bezeichnet wird. Weitere Informationen finden Sie unter Einfaches Setup zum Aktivieren der ORDS-Datenbank-API.
-
Der Benutzer muss über die folgenden Rollen und Berechtigungen verfügen:
SODA_APP,CREATE TABLEundCREATE SESSION. Weitere Informationen finden Sie unter Benutzerrollen und -berechtigungen für autonome KI-Datenbank verwalten. -
Der Benutzer hat eine verfügbare Quota für Tablespace DATA. Weitere Informationen finden Sie unter Benutzer in einer autonomen KI-Datenbank erstellen und verwalten.
-
Dem Benutzer muss die Berechtigung
EXECUTEfür PackageCS_SESSIONerteilt werden, damit er von der automatischen parallelen Indexerstellung profitieren kann. Andernfalls werden Indizes seriell erstellt.Weitere Informationen finden Sie unter CS_SESSION-Package.
Hinweis
Hinweis: Die Rolle DWROLE in der autonomen KI-Datenbank enthält unter anderem diese Rollen.
Der Zugriff auf Schemas, die dem Benutzer nicht erteilt wurden, ist verboten. Beispiel: Der Benutzer SCOTT kann nur auf Collections im Schema SCOTT zugreifen. Es gibt eine Ausnahme. Wenn der authentifizierte Benutzer die Berechtigungen CREATE USER, ALTER USER und DROP USER für die autonome KI-Datenbank hat, kann dieser Benutzer auf jedes ORDS-fähige Schema zugreifen.
Darüber hinaus kann ein Benutzer mit diesen Berechtigungen implizit Schemas erstellen. Das heißt, wenn der Benutzer eine Collection in einer Datenbank erstellt, die nicht vorhanden ist, wird das Schema automatisch erstellt. Weitere Informationen finden Sie unter Oracle AI Database API for MongoDB.
Autonome KI-Testdatenbankbenutzer für MongoDB erstellen
Mit den folgenden Schritten erstellen Sie einen Testbenutzer mit den richtigen Rollen. Sie können auch Database Actions SQL oder andere SQL-Befehlszeilen-Utilitys verwenden, um die SQL-Anweisungen direkt auszuführen. Weitere Informationen finden Sie unter Benutzer in einer autonomen KI-Datenbank erstellen - Verbindung mit einem Clienttool herstellen.
-
Öffnen Sie die Oracle Cloud Infrastructure-Konsole für Ihre autonome KI-Datenbank.
-
Wählen Sie Database Actions aus.
-
Wählen Sie im Database Actions-Launchpad Administration > Database Users aus.
-
Wählen Sie auf der Seite "Datenbankbenutzer" die Option + Create User aus.
-
Geben Sie einen Benutzernamen und ein Kennwort für Ihren Testbenutzer ein. Wählen Sie Web Access, und legen Sie Quota on Tablespace DATA fest.

Beschreibung der Abbildung database_actions_create_user_for_mongodb_use.png
-
Wählen Sie die Registerkarte Erteilte Rollen.
-
Wählen Sie zusätzlich zu den Standardrollen die Rolle
SODA_APPfür den Benutzer aus, und fügen Sie sie hinzu.
Beschreibung der Abbildung database_actions_grant_roles_for_mongodb_use.png
-
Klicken Sie auf die Schaltfläche Benutzer erstellen.
Sie können diesen Benutzer oder einen ähnlich authentifizierten Benutzer zu Testzwecken verwenden. Weitere Informationen finden Sie unter Verbindung mit der Befehlszeile testen.
MongoDB-Anwendungen mit autonomer KI-Datenbank verbinden
Die Verbindung Ihrer MongoDB-Anwendung mit der autonomen KI-Datenbank umfasst mehrere Schritte, je nach Ihren Anforderungen.
Verbindungszeichenfolge für autonome AI-Datenbank MongoDB abrufen
Sie können die API-Verbindungszeichenfolge MongoDB aus der Oracle Cloud Infrastructure-Konsole abrufen.
Nachdem Sie die MongoDB-API-Verbindungszeichenfolge abgerufen haben, können Sie mit der MongoDB-Shell, einem Befehlszeilenutility, eine Verbindung herstellen und Ihre Daten abfragen.
Zuerst müssen Sie den Netzwerkzugriff konfigurieren und die MongoDB-API aktivieren. Weitere Informationen finden Sie unter Zugriff für MongoDB konfigurieren.
So rufen Sie die API-Verbindungszeichenfolge MongoDB ab:
-
Wählen Sie auf der Detailseite der autonomen KI-Datenbank die Registerkarte Toolkonfiguration aus.
-
Klicken Sie in der MongoDB-API-Zeile unter "Zugriff-URL" auf Kopieren.

Beschreibung der Abbildung adb_tools_mongo_connect_string.png
Verbindungszeichenfolge für autonome KI-Datenbank aus Datenbankaktionen abrufen
Verwenden Sie die MongoDB-Shell, ein Befehlszeilenutility, mit dem Sie Ihre Daten verbinden und abfragen können.
-
Sie können die Verbindungszeichenfolge für die Instanz der autonomen KI-Datenbank mit Database Actions abrufen.
Weitere Informationen finden Sie unter Auf Database Actions als ADMIN zugreifen.
-
Klicken Sie im Database Actions-Launchpad unter Zugehörige Services auf Oracle AI Database API for MongoDB.
-
Klicken Sie auf der Seite Oracle AI Database API for MongoDB auf Kopieren.
Verbindung mit der Befehlszeile testen
-
Melden Sie sich als Testbenutzer an. Weitere Informationen finden Sie unter Autonomen KI-Testdatenbankbenutzer für MongoDB erstellen.
$ mongosh --tls --tlsAllowInvalidCertificates 'mongodb://TESTUSER:<PASSWORD>@<database URL>. <OCI region>.oraclecloudapps.com:27017/admin?authMechanism=PLAIN&authSource=$external&ssl=true&loadBalanced=false' Current Mongosh Log ID: 614c9e2a01e3575c8c0b2ec7 Connecting to: mongodb://TESTUSER:<PASSWORD>@<database URL>.<OCIregion>.oraclecloudapps.com:27017/admin? authMechanism=PLAIN&authSource=$external&tls=true&loadBalanced=false Using MongoDB: 3.6.2 Using Mongosh: 1.0.7 For mongosh info see: https://docs.mongodb.com/mongodb-shell/admin > show dbs **testuser 0 B** >Verwenden Sie URI-Prozentcodierung, um reservierte Zeichen in Ihrer Verbindungszeichenfolge-URI zu ersetzen - insbesondere Zeichen in Ihrem Benutzernamen und Kennwort. Dies sind die reservierten Zeichen und ihre Prozentcodierungen:
Zeichen Prozentcodierung !%21#%23$%24%%25&%26'%27(%28)%29*%2A+%2B,%2C/%2F:%3A;%3B=%3D?%3F@%40[%5B]%5DBeispiel: Wenn Ihr Benutzername
RUTHlautet und Ihr Kennwort@least1/2#?lautet, könnte die MongoDB-Verbindungszeichenfolge für Server<server>wie folgt aussehen:'mongodb://RUTH:**%40**least1**%2F**2**%23****%3F**@*<server>*:27017/ruth/ ...'Abhängig von den Tools oder Treibern, die Sie verwenden, können Sie einen Benutzernamen und ein Passwort als separate Parameter anstelle einer URI-Verbindungszeichenfolge angeben. In diesem Fall müssen Sie wahrscheinlich keine reservierten Zeichen codieren, die sie enthalten.
Weitere Informationen finden Sie unter Percent Encoding - Reserved Characters und Uniform Resource Identifier (URI): Generic Syntax.
- Erstellen Sie eine Sammlung, und fügen Sie Dokumente in Ihre Sammlung ein.
testuser> show collections testuser> db.createCollection( 'fruit' ) { ok: 1 } testuser> show collections fruit testuser> db.fruit.insertOne( {name:"orange", count:42} ) { acknowledged: true, insertedId: ObjectId("614ca31fdab254f63e4c6b47") } testuser> db.fruit.insertOne( {name:"apple", count:12, color: "red"} ) { acknowledged: true, insertedId: ObjectId("614ca340dab254f63e4c6b48") } testuser> db.fruit.insertOne( {name:"pear", count:5} ) { acknowledged: true, insertedId: ObjectId("614ca351dab254f63e4c6b49") } testuser> - Fragen Sie die Collection mit einem SQL-Client ab, wie Database Actions.
SELECT f.json_document.name, f.json_document.count, f.json_document.color FROM fruit f;
Beschreibung der Abbildung database_actions_sql_for_mongodb_use.png
Verbindung mit einer Node.js-Anwendung testen
-
Laden Sie Node.js herunter. Wenn Sie Node.js für Ihre Umgebung bereits heruntergeladen oder installiert haben, können Sie diesen Schritt überspringen.
$ wget https://nodejs.org/dist/latest-v14.x/node-v14.17.5-linux-x64.tar.xz -
Extrahieren Sie den Inhalt des Node,js-Archivs. Wenn Sie Node.js für Ihre Umgebung bereits heruntergeladen oder installiert haben, können Sie diesen Schritt überspringen.
$ tar -xf node-v14.17.5-linux-x64.tar.xz - Konfigurieren Sie die Umgebungsvariable
PATH. Wenn Sie Node.js bereits für Ihre Umgebung heruntergeladen oder installiert haben, können Sie diesen Schritt überspringen.$ export PATH="`pwd`"/node-v14.17.5-linux-x64/bin:$PATH -
Testen Sie Ihre Verbindung mit einem Javascript-Beispiel.
- Neues Verzeichnis erstellen.
$ mkdir autonomous_mongodb $ cd autonomous_mongodb $ npm init -y - Installieren Sie die Mangodb-Abhängigkeit.
$ npm install mongodb - Erstellen Sie eine JavaScript-Anwendung namens
connect.js.const { MongoClient } = require("mongodb"); const uri = "mongodb://TESTUSER:<PASSWORD>@<Database URI>.<OCI region>.oraclecloudapps.com:27017/admin?authMechanism=PLAIN&authSource=$external&ssl=true&loadBalanced=false"; const client = new MongoClient(uri); async function run() { try { await client.connect(); const database = client.db('admin'); const movies = database.collection('movies'); // Insert a movie const doc = { title: 'Back to the Future', year: 1985, genres: ['Adventure', 'Comedy', 'Sci-Fi'] } const result = await movies.insertOne(doc); // Query for a movie that has the title 'Back to the Future' :) const query = { title: 'Back to the Future' }; const movie = await movies.findOne(query); console.log(movie); } finally { // Ensures that the client will close when you finish/error await client.close(); } } run().catch(console.dir);Verwenden Sie URI-Prozentcodierung, um reservierte Zeichen in Ihrer Verbindungszeichenfolge-URI zu ersetzen - insbesondere Zeichen in Ihrem Benutzernamen und Kennwort. Dies sind die reservierten Zeichen und ihre Prozentcodierungen:
Zeichen Prozentcodierung !%21#%23$%24%%25&%26'%27(%28)%29*%2A+%2B,%2C/%2F:%3A;%3B=%3D?%3F@%40[%5B]%5DBeispiel: Wenn Ihr Benutzername
RUTHlautet und Ihr Kennwort@least1/2#?lautet, könnte die MongoDB-Verbindungszeichenfolge für Server<server>wie folgt aussehen:'mongodb://RUTH:**%40**least1**%2F**2**%23****%3F**@*<server>*:27017/ruth/ ...'Abhängig von den Tools oder Treibern, die Sie verwenden, können Sie einen Benutzernamen und ein Passwort als separate Parameter anstelle einer URI-Verbindungszeichenfolge angeben. In diesem Fall müssen Sie wahrscheinlich keine reservierten Zeichen codieren, die sie enthalten.
Weitere Informationen finden Sie unter Percent Encoding - Reserved Characters und Uniform Resource Identifier (URI): Generic Syntax.
- Führen Sie das Beispiel aus. Die Ausgabe sollte der folgenden ähneln.
$ node connect { _id: new ObjectId("611e3266005202371acf27c1"), title: 'Back to the Future', year: 1985, genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ] }
- Neues Verzeichnis erstellen.