Maison >Périphériques technologiques >Industrie informatique >Comment enrichir les données avec le point mongodb

Comment enrichir les données avec le point mongodb

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌original
2025-02-15 10:35:12756parcourir

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.

How to Enrich Data with MongoDB Stitch

Objectif: Ce tutoriel montre comment:

  1. Insérez un document dans MongoDB à l'aide d'un service HTTP Post HTTP MongoDB STITTP. Le document initial ne contiendra qu'un _id et un Title.
  2. Créez un déclencheur de point qui s'active sur une nouvelle insertion de document.
  3. Utilisez le déclencheur pour appeler l'API OMDB avec le titre du film.
  4. Mettez à jour le document MongoDB original avec les détails du film récupéré.

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:

  1. Accédez à "Applications de point" dans le panneau de gauche.
  2. Cliquez sur "Créer une nouvelle application."
  3. Nommez votre application.
  4. liez-le à votre cluster MongoDB Atlas.

How to Enrich Data with MongoDB Stitch

Configuration du service HTTP Post:

  1. Dans le panneau de gauche, accédez à "Services", puis "Ajoutez un service."
  2. Nommez le service "imdb" (ou choisissez un autre nom; n'oubliez pas de mettre à jour le code en conséquence).
  3. Ajoutez un webhook entrant et notez la configuration suivante (capture d'écran fournie dans l'original).

How to Enrich Data with MongoDB Stitch

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.

How to Enrich Data with MongoDB Stitch

Création de la fonction de déclenchement et d'enrichissement:

    Dans le panneau de gauche, accédez à "déclencheurs", puis "Ajoutez un déclencheur de la base de données."
  1. Configurez le déclencheur comme indiqué dans l'original (capture d'écran fournie).
  2. Utilisez le code de fonction suivant pour récupérer et ajouter les détails du film de l'API OMDB:
<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.

How to Enrich Data with MongoDB Stitch

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:

  • MongoDB Stitch Billing: (lien vraisemblablement fourni dans l'original)
  • Interrogation ATLAS MONGODB AVEC MONGODB STITTH: (lien vraisemblablement fourni dans l'original)

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn