Rumah >Peranti teknologi >industri IT >Cara Memperkaya Data dengan Jahitan MongoDB
Tutorial ini menunjukkan memperkayakan dokumen MongoDB dengan data dari API luaran menggunakan jahitan MongoDB. Kami akan menambah butiran filem dari API OMDB ke dokumen MongoDB selepas penyisipan awal.
Matlamat: Tutorial ini menunjukkan cara:
_id
. Title
Prasyarat:
Anda memerlukan kluster Atlas MongoDB percuma. Tutorial video yang menggariskan proses persediaan tersedia (pautan mungkin disediakan di asal). Kemudian, pautan aplikasi Stitch MongoDB ke cluster Atlas anda:
Menyediakan Perkhidmatan Pos HTTP:
di panel kiri, pergi ke "Perkhidmatan," kemudian "tambah perkhidmatan."
(atau postman) seperti ini, menggantikan URL dan Rahsia Pemegang Letak:
<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>
Sahkan penyisipan dalam cluster Atlas MongoDB anda. 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>
Mewujudkan fungsi pencetus dan pengayaan:
di panel kiri, pergi ke "Pencetus," kemudian "tambah pencetus pangkalan data." Konfigurasikan pencetus seperti yang ditunjukkan dalam asal (tangkapan skrin yang disediakan).
<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>digunakan untuk mengelakkan penindasan medan sedia ada.
Uji pencetus dengan menghantar permintaan curl
yang lain. Dokumen yang dikemas kini kini harus mengandungi data filem yang diperkaya.
Ringkasan:
Proses ini menunjukkan cara yang kuat untuk mengintegrasikan API luaran dengan data MongoDB anda menggunakan keupayaan pelayan MongoDB Stitch. Senibina yang didorong oleh acara membolehkan pengayaan data yang cekap tanpa logik sisi pelayan yang kompleks.
Bacaan Lanjut:
Atas ialah kandungan terperinci Cara Memperkaya Data dengan Jahitan MongoDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!