Utilisation de l'API Oracle AI Database pour MongoDB
L'API Oracle AI Database pour MongoDB permet de se connecter à Oracle Autonomous AI Database à l'aide des pilotes et des outils de langage MongoDB.
L'API Oracle AI Database pour MongoDB tire parti des fonctionnalités de base de données convergée d'une base de données d'IA autonome pour gérer plusieurs types de données, y compris les données JSON, au sein d'une seule base de données. Par exemple, ces fonctionnalités de base de données convergée vous permettent d'utiliser SQL pour interroger ou mettre à jour des données JSON.
Remarque
Remarque : MongoDB exige que vous configuriez l'accès réseau pour utiliser des listes de contrôle d'accès ou que vous définissiez une adresse privée pour l'instance de base de données Autonomous AI.
Pour plus d'informations, reportez-vous à API Oracle AI Database pour MongoDB.
Pour plus d'informations, reportez-vous à A propos d'Autonomous JSON Database.
Pour plus d'informations, reportez-vous à A propos des types de charge globale de base de données Autonomous AI.
Configurer l'accès pour MongoDB et activer MongoDB
L'API Oracle AI Database pour MongoDB vous permet d'utiliser une base de données Oracle Autonomous AI Database comme banque de données.
Pour utiliser l'API MongoDB, vous pouvez créer et configurer une nouvelle base de données d'IA autonome ou modifier la configuration d'une base de données d'IA autonome existante.
Remarque
Remarque : MongoDB exige que vous configuriez l'accès réseau pour utiliser des listes de contrôle d'accès ou que vous définissiez une adresse privée pour l'instance de base de données Autonomous AI. En plus de configurer l'accès réseau, vous devez activer l'API MongoDB sur l'instance de base de données Autonomous AI.
Configurer l'accès pour MongoDB
Pour utiliser l'API MongoDB, vous pouvez créer et configurer une nouvelle base de données d'IA autonome ou modifier la configuration d'une base de données d'IA autonome existante en configurant des listes de contrôle d'accès ou en définissant une adresse privée.
Configuration d'une nouvelle base de données d'IA autonome pour MongoDB
Suivez les étapes décrites dans Provisionnement ou clonage d'une base de données d'IA autonome, jusqu'au point où vous sélectionnez votre type d'accès réseau.

Description de l'image adb_network_access_acl_provision.png
A ce stade, pour utiliser l'API Oracle AI Database pour MongoDB, configurez l'accès sécurisé en sélectionnant et en configurant l'un des types d'accès réseau suivants :
-
Accès sécurisé à partir des adresses IP et des réseaux cloud virtuels autorisés uniquement
-
Accès à l'adresse privée uniquement
Pour plus d'informations sur la configuration d'une instance de base de données Autonomous AI avec une adresse privée, reportez-vous à Configuration de l'accès réseau avec des adresses privées.
Configuration d'une base de données Autonomous AI existante pour MongoDB
Ouvrez la console Oracle Cloud Infrastructure pour votre instance de base de données Autonomous AI.

Description de l'image adb_ajd_console_details.png
Remarque
Remarque : pour utiliser l'API Oracle AI Database pour MongoDB, le réseau doit être configuré et le type d'accès doit être Accès sécurisé à partir des adresses IP et des réseaux cloud virtuels autorisés uniquement ou Accès à l'adresse privée uniquement.
Configuration des listes de contrôle d'accès (ACL)
Pour plus d'informations, reportez-vous à la section Configure Access Control Lists for an Existing Autonomous AI Database Instance.
Pour configurer votre liste de contrôle d'accès pour une adresse IP, vous devez obtenir l'adresse IP publique. Il existe plusieurs façons d'afficher votre adresse IP publique :
-
Dans la zone d'accès réseau choisie, cliquez sur Ajouter mon adresse IP. Votre adresse IP est alors copiée dans le champ Valeurs.
-
Après avoir désactivé un VPN, utilisez le site Web WhatIsMyIP.
-
Après avoir désactivé un VPN, utilisez la commande curl :
curl -s https://ifconfig.me.
Remarque
Remarque : les adresses IP publiques peuvent changer. Toute modification de votre adresse IP publique nécessitera une modification de l'ACL. Si vous ne parvenez pas à accéder à votre base de données, votre liste de contrôle d'accès doit être vérifiée.
Types d'ACL et cas d'utilisation
| Type d'ACL | Cas d'emploi | Commentaires |
|---|---|---|
| Adresse IP | Ordinateurs portables de développement local partageant la même adresse IP publique | Le moyen le plus simple de commencer. Tout ordinateur portable connecté à ce réseau local aura accès à la base de données avec les informations d'identification de la base de données. |
| Bloc CIDR | Ordinateur portable de développement local | Utiliser la notation IPv4/32 |
| Adresses IP séparées par des virgules | Petit nombre d'ordinateurs portables de développement local connectés sur des réseaux locaux distincts (ayant des adresses IP publiques distinctes) | Peut être fastidieux à gérer avec plus de 10 ordinateurs portables. |
| Bloc CIDR | Ordinateurs portables de développement local connectés sur le même sous-réseau exposé à Internet (chaque ordinateur portable possède sa propre adresse IP publique) | Faites confiance à la notation de bloc CIDR. Pour plus d'informations, voir calculateur ici. Exemple : 89.84.109.0/24 donne 256 adresses IP possibles de 89.84.109.0 à 89.84.109.255 |
| VCN avec bloc CIDR | Pour le pipeline de test, de production ou d'intégration continue et de déploiement continu hébergé sur OCI avec ses propres instances VCN et Compute | Affectez un compartiment OCI par type d'environnement. |
| Mélange de l'adresse IP et du VCN avec le bloc CIDR | Ordinateur portable de développement local accédant à une base de données d'IA autonome de test avec des connexions à partir de l'environnement de test ou du pipeline CI/CD | Option de configuration commune pour les travaux de développement en cours. |
Activer l'API MongoDB sur la base de données Autonomous AI
Une fois l'accès réseau configuré pour l'instance de base de données Autonomous AI, activez l'API MongDB.
Afin d'activer l'API MongoDB pour une instance existante, procédez comme suit :
-
Sur la page de détails de la base de données Autonomous AI, sélectionnez l'onglet Configuration d'outil.
-
Cliquez sur Modifier la configuration d'outil.
-
Dans la ligne de l'API MongoDB, sélectionnez l'option Activer l'outil pour afficher Activé.
-
Cliquez sur Appliquer.
L'état de cycle de vie passe à la mise à jour jusqu'à ce que MongoDB soit activé.
Vous pouvez également activer l'API MongoDB lorsque vous provisionnez ou clonez une instance en sélectionnant Afficher les options avancées et en sélectionnant l'onglet Outils.
Pour plus d'informations, reportez-vous à Gestion des outils intégrés de base de données d'IA autonome.
Gestion des utilisateurs pour MongoDB
L'API Oracle AI Database pour MongoDB vous permet d'utiliser une base de données Oracle Autonomous AI Database comme banque de données. Si vous souhaitez utiliser une base de données Autonomous AI existante à cette fin, voici le workflow.
L'API Oracle AI Database pour MongoDB permet la mise en correspondance des objets de base de données Autonomous AI avec les objets MongoDB comme suit :
| Objet MongoDB | Objet Oracle Autonomous AI Database |
|---|---|
| base de données | schéma |
| collection | tableau |
| document | document (dans une colonne) |
Par exemple, vous pouvez créer une collection à l'aide de l'API Oracle AI Database pour MongoDB comme suit :
use scott;
db.createCollection('fruit');Une table nommée FRUIT est créée dans le schéma SCOTT.
Lorsque vous vous connectez à l'API Oracle AI Database pour MongoDB, vous authentifiez à l'aide d'un nom utilisateur et d'un mot de passe de base de données Autonomous AI. Cette connexion authentifiée accède ensuite aux collections du schéma correspondant. Cet utilisateur doit répondre aux exigences suivantes :
-
Le schéma de l'utilisateur doit être activé pour ORDS, ce qui est parfois appelé activé pour l'accès Web. Pour plus d'informations, reportez-vous à Configuration de base pour activer l'API de base de données ORDS.
-
L'utilisateur doit disposer des rôles et privilèges suivants :
SODA_APP,CREATE TABLEetCREATE SESSION. Pour plus d'informations, reportez-vous à Gestion des rôles et des privilèges utilisateur sur une base de données Autonomous AI. -
L'utilisateur dispose d'un quota disponible sur le tablespace DATA. Pour plus d'informations, reportez-vous à Création et gestion d'utilisateurs sur une base de données Autonomous AI.
-
L'utilisateur doit disposer du privilège
EXECUTEsur le packageCS_SESSIONpour bénéficier de la création automatique d'index parallèles. Sinon, les index sont créés en série.Pour plus d'informations, reportez-vous à Package CS_SESSION.
Remarque
Remarque : le rôle DWROLE dans la base de données Autonomous AI contient ces rôles, entre autres.
L'accès aux schémas qui ne sont pas accordés à l'utilisateur est interdit. Par exemple, l'utilisateur SCOTT ne peut accéder qu'aux collections du schéma SCOTT. Il y a une exception. Si l'utilisateur authentifié dispose des privilèges de base de données Autonomous AI CREATE USER, ALTER USER et DROP USER, il peut accéder à n'importe quel schéma compatible ORDS.
En outre, un utilisateur disposant de ces privilèges peut créer implicitement des schémas. Autrement dit, lorsque l'utilisateur crée une collection dans une base de données qui n'existe pas, le schéma est créé automatiquement. Pour plus d'informations, reportez-vous à API Oracle AI Database pour MongoDB.
Création d'un utilisateur de base de données d'IA autonome de test pour MongoDB
Les étapes suivantes utilisent Database Actions pour créer un utilisateur test doté des rôles appropriés. Vous pouvez également utiliser Database Actions SQL ou d'autres utilitaires de ligne de commande SQL pour exécuter les instructions SQL directement. Pour plus d'informations, reportez-vous à Création d'utilisateurs sur Autonomous AI Database - Connexion à un outil client.
-
Ouvrez la console Oracle Cloud Infrastructure pour votre base de données d'IA autonome.
-
Sélectionnez Database Actions.
-
Dans la fenêtre de lancement de Database Actions, sélectionnez Administration > Database Users (Utilisateurs de base de données).
-
Sélectionnez + Créer un utilisateur sur la page Utilisateurs de base de données.
-
Entrez un nom d'utilisateur et un motde passe pour l'utilisateur de test. Sélectionnez Accès Web et définissez le quota sur le tablespace DATA.

Description de l'illustration database_actions_create_user_for_mongodb_use.png
-
Sélectionnez l'onglet Rôles accordés.
-
Outre les rôles par défaut, sélectionnez et ajoutez le rôle
SODA_APPpour l'utilisateur.
Description de l'illustration database_actions_grant_roles_for_mongodb_use.png
-
Cliquez sur le bouton Create User (Créer un utilisateur).
Vous pouvez utiliser cet utilisateur, ou un utilisateur authentifié de la même manière, à des fins de test. Pour plus d'informations, reportez-vous à Test de la connexion à l'aide de la ligne de commande.
Connectez les applications MongoDB à la base de données d'IA autonome
La connexion de votre application MongoDB à la base de données d'IA autonome comprend plusieurs étapes, selon vos besoins.
Extraire la chaîne de connexion MongoDB de la base de données Autonomous AI
Vous pouvez extraire la chaîne de connexion d'API MongoDB à partir de la console Oracle Cloud Infrastructure.
Une fois la chaîne de connexion à l'API MongoDB obtenue, vous pouvez utiliser le shell MongoDB, qui est un utilitaire de ligne de commande, pour vous connecter et interroger vos données.
Vous devez d'abord configurer l'accès réseau et activer l'API MongoDB. Pour plus d'informations, reportez-vous à Configuration de l'accès pour MongoDB.
Pour extraire la chaîne de connexion à l'API MongoDB, procédez comme suit :
-
Sur la page de détails de la base de données Autonomous AI, sélectionnez l'onglet Configuration d'outil.
-
Sur la ligne API MongoDB, sous URL d'accès, cliquez sur Copier.

Extraire la chaîne de connexion à la base de données Autonomous AI à partir des actions de base de données
Utilisez le shell MongoDB qui est un utilitaire de ligne de commande utilisé pour connecter et interroger vos données.
-
Vous pouvez extraire la chaîne de connexion pour votre instance de base de données Autonomous AI avec Database Actions.
Pour plus d'informations, reportez-vous à Accès à Database Actions en tant qu'administrateur.
-
Dans la fenêtre de lancement Database Actions, sous Services associés, cliquez sur API Oracle AI Database pour MongoDB.
-
Sur la page API Oracle AI Database pour MongoDB, cliquez sur Copier.
Tester la connexion à l'aide de la ligne de commande
-
Connectez-vous en tant qu'utilisateur de test. Pour plus d'informations, reportez-vous à Création d'un utilisateur de base de données de test Autonomous AI pour MongoDB.
$ 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** >Utilisez l'encodage en pourcentage URI pour remplacer les caractères réservés dans votre URI de chaîne de connexion - en particulier les caractères de votre nom d'utilisateur et de votre mot de passe. Voici les caractères réservés et leur codage en pourcentage :
Caractère Encodage du pourcentage !%21#%23$%24%%25&%26'%27(%28)%29*%2A+%2B,%2C/%2F:%3A;%3B=%3D?%3F@%40[%5B]%5DPar exemple, si votre nom utilisateur est
RUTHet que votre mot de passe est@least1/2#?, la chaîne de connexion MongoDB au serveur<server>peut se présenter comme suit :'mongodb://RUTH:**%40**least1**%2F**2**%23****%3F**@*<server>*:27017/ruth/ ...'Selon les outils ou pilotes que vous utilisez, vous pouvez fournir un nom d'utilisateur et un mot de passe en tant que paramètres distincts, au lieu de faire partie d'une chaîne de connexion URI. Dans ce cas, vous n'aurez probablement pas besoin de coder les caractères réservés qu'ils contiennent.
Pour plus d'informations, reportez-vous aux sections Percent Encoding - Reserved Characters et Uniform Resource Identifier (URI) : Generic Syntax.
- Créez une collection et insérez des documents dans votre collection.
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> - Interrogez la collection à l'aide d'un client SQL tel que Database Actions.
SELECT f.json_document.name, f.json_document.count, f.json_document.color FROM fruit f;
Description de l'illustration database_actions_sql_for_mongodb_use.png
Test de la connexion à l'aide d'une application Node.js
-
Téléchargez Node.js. Si vous avez déjà téléchargé ou installé Node.js pour votre environnement, vous pouvez ignorer cette étape.
$ wget https://nodejs.org/dist/latest-v14.x/node-v14.17.5-linux-x64.tar.xz -
Extrayez le contenu de l'archive Node,js. Si vous avez déjà téléchargé ou installé Node.js pour votre environnement, vous pouvez ignorer cette étape.
$ tar -xf node-v14.17.5-linux-x64.tar.xz - Configuration de la variable d'environnement
PATH. Si vous avez déjà téléchargé ou installé Node.js pour votre environnement, vous pouvez ignorer cette étape.$ export PATH="`pwd`"/node-v14.17.5-linux-x64/bin:$PATH -
Testez votre connexion avec un exemple de Javascript.
- Créer un répertoire.
$ mkdir autonomous_mongodb $ cd autonomous_mongodb $ npm init -y - Installez la dépendance mongodb.
$ npm install mongodb - Créez une application JavaScript nommée
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);Utilisez l'encodage en pourcentage URI pour remplacer les caractères réservés dans votre URI de chaîne de connexion - en particulier les caractères de votre nom d'utilisateur et de votre mot de passe. Voici les caractères réservés et leur codage en pourcentage :
Caractère Encodage du pourcentage !%21#%23$%24%%25&%26'%27(%28)%29*%2A+%2B,%2C/%2F:%3A;%3B=%3D?%3F@%40[%5B]%5DPar exemple, si votre nom utilisateur est
RUTHet que votre mot de passe est@least1/2#?, la chaîne de connexion MongoDB au serveur<server>peut se présenter comme suit :'mongodb://RUTH:**%40**least1**%2F**2**%23****%3F**@*<server>*:27017/ruth/ ...'Selon les outils ou pilotes que vous utilisez, vous pouvez fournir un nom d'utilisateur et un mot de passe en tant que paramètres distincts, au lieu de faire partie d'une chaîne de connexion URI. Dans ce cas, vous n'aurez probablement pas besoin de coder les caractères réservés qu'ils contiennent.
Pour plus d'informations, reportez-vous aux sections Percent Encoding - Reserved Characters et Uniform Resource Identifier (URI) : Generic Syntax.
- Exécutez l'exemple. La sortie doit ressembler à ce qui suit.
$ node connect { _id: new ObjectId("611e3266005202371acf27c1"), title: 'Back to the Future', year: 1985, genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ] }
- Créer un répertoire.