Heim >Technologie-Peripheriegeräte >IT Industrie >So bereichern Sie Daten mit MongoDB -Stich
Dieses Tutorial zeigt angereicherte MongoDB -Dokumente mit Daten aus einer externen API unter Verwendung von MongoDB -Stich. Ein MongoDB -Dokument fügen nach dem ersten Einfügen Filmdetails aus der OMDB -API hinzu.
Ziel: Dieses Tutorial zeigt:
_id
und ein Title
. Voraussetzungen:
Sie benötigen einen kostenlosen MongoDB -Atlas -Cluster. Ein Video -Tutorial, das den Setup -Prozess beschreibt, ist verfügbar (Link, das vermutlich im Original bereitgestellt wird). Verknüpfen Sie dann eine MongoDB -Stichanwendung mit Ihrem Atlas -Cluster:
Einrichten des HTTP -Postdienstes:
Der folgende Funktionscode verwaltet die anfängliche Dokumentinsertion:
<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>
Speichern Sie die Funktion. Testen Sie es unter Verwendung eines curl
-Befehls (oder Postbote) wie dieser, wobei die Platzhalter -URL und das Geheimnis ersetzt werden:
<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>
Überprüfen Sie die Insertion in Ihrem MongoDB -Atlas -Cluster.
Erstellen Sie die Funktion Trigger und Anreicherung:
<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>
Denken Sie daran, [YOUR_OMDB_API_KEY]
durch Ihren tatsächlichen OMDB -API -Schlüssel zu ersetzen (erhalten Sie einen von https://www.php.cn/link/fcf70ea0bbeb4edca72cc304e75f4c98 ). Der $set
-Preiber wird verwendet, um das Überschreiben bestehender Felder zu verhindern.
Testen Sie den Auslöser, indem Sie eine andere curl
Anforderung senden. Das aktualisierte Dokument sollte nun die angereicherten Filmdaten enthalten.
Zusammenfassung:
Dieser Prozess zeigt eine leistungsstarke Möglichkeit, externe APIs mit Ihren MongoDB -Daten mithilfe der serverlosen Funktionen von MongoDB Stitch zu integrieren. Die ereignisgesteuerte Architektur ermöglicht eine effiziente Datenanreicherung ohne komplexe serverseitige Logik.
Weitere Lesen:
Das obige ist der detaillierte Inhalt vonSo bereichern Sie Daten mit MongoDB -Stich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!