Maison >Périphériques technologiques >Industrie informatique >Comment enrichir les données avec le point mongodb
Ce didacticiel montre des documents MongoDB enrichissants avec des données d'une API externe à l'aide d'un point MongoDB. Nous ajouterons les détails du film de l'API OMDB à un document MongoDB après l'insertion initiale.
Objectif: Ce tutoriel montre comment:
_id
et un Title
. Prérequis:
Vous aurez besoin d'un cluster d'atlas MongoDB gratuit. Un tutoriel vidéo décrivant le processus de configuration est disponible (lien vraisemblablement fourni dans l'original). Ensuite, liez une application MongoDB Stitch à votre cluster Atlas:
Configuration du service HTTP Post:
Le code de fonction suivant gérera l'insertion initiale du document:
<code class="language-javascript">exports = function(payload, response) { const mongodb = context.services.get("mongodb-atlas"); const movies = mongodb.db("stitch").collection("movies"); var body = EJSON.parse(payload.body.text()); movies.insertOne(body) .then(result => { response.setStatusCode(201); }); };</code>
Enregistrez la fonction. Testez-le en utilisant une commande (ou facteur) (ou facteur) comme celle-ci, en remplacement de l'URL et du secret de l'espace réservé: curl
<code class="language-bash">curl -H "Content-Type: application/json" -d '{"Title":"Guardians of the Galaxy"}' https://webhooks.mongodb-stitch.com/api/client/v2.0/app/stitchtapp-abcde/service/IMDB/incoming_webhook/post_movie_title?secret=test</code>Vérifiez l'insertion dans votre cluster MongoDB Atlas.
Création de la fonction de déclenchement et d'enrichissement:
<code class="language-javascript">exports = function(changeEvent) { var docId = changeEvent.documentKey._id; var title = encodeURIComponent(changeEvent.fullDocument.Title.trim()); var movies = context.services.get("mongodb-atlas").db("stitch").collection("movies"); var imdb_url = "http://www.omdbapi.com/?apikey=[YOUR_OMDB_API_KEY]&t=" + title; const http = context.services.get("IMDB"); return http .get({ url: imdb_url }) .then(resp => { var doc = EJSON.parse(resp.body.text()); movies.updateOne({"_id":docId}, {$set: doc}); // Use $set to update only the new fields }); };</code>N'oubliez pas de remplacer
par votre touche API OMDB réelle (obtenir un à partir de [YOUR_OMDB_API_KEY]
https://www.php.cn/link/fcf70ea0bbeb4edca72cc304e75f4c98 ). L'opérateur est utilisé pour empêcher l'écrasement des champs existants. $set
Testez le déclencheur en envoyant une autre demande curl
. Le document mis à jour doit maintenant contenir les données de film enrichi.
Résumé:
Ce processus démontre un moyen puissant d'intégrer des API externes à vos données MongoDB à l'aide des capacités sans serveur de MongoDB STITTTH. L'architecture axée sur l'événement permet un enrichissement efficace des données sans logique complexe côté serveur.
Lire plus approfondie:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!