Rumah >hujung hadapan web >tutorial js >ORM dan Migrasi/Menambah Data ke Pangkalan Data MySql dari MongoDb menggunakan TypeOrm dalam javaScript
Apakah itu ORM ?
Pemetaan Hubungan Objek atau ringkasnya ORM ialah perpustakaan atau alat yang membantu kami berinteraksi dengan pangkalan data tanpa menulis pertanyaan pangkalan data mentah.
Daripada menguruskan jadual dan baris pangkalan data secara langsung, kami bekerja dengan beberapa objek dalam kod kami dan ORM menterjemah objek ini ke dalam pertanyaan pangkalan data dan apabila data diambil semula daripada pangkalan data, ORM memetakan data kembali menjadi objek.
ORM mewujudkan jambatan antara program berorientasikan objek dan pangkalan data hubungan.
Kes Penggunaan:
Jika kami mencipta aplikasi javaScript/TypeScript dan apabila kami memerlukan pangkalan data untuk perkhidmatan backend maka kami boleh menggunakan ORM untuk menyambungkan aplikasi kami ke pangkalan data.
beberapa ORM yang digunakan dalam bahasa yang berbeza ialah:
Mengapa kami perlu menggunakan ORM dalam aplikasi kami?
Sekarang mari fahami cara kita boleh menambah data daripada mongodb ke pangkalan data Mysql menggunakan TypeOrm dalam javaScript.
Perkara pertama dan terpenting yang perlu kita lakukan ialah menetapkan sambungan untuk MySql dan MongoDb
Mula-mula tentukan konfigurasi menggunakan DataSource yang akan menyambung ke pangkalan data MySql menggunakan bukti kelayakan dan maklumat hos yang ditentukan. Ia juga memetakan kelas entiti ke jadual pangkalan data sekali gus membolehkan kefungsian orm. Ini kodnya.
Saya akan mengambil model kolej mudah yang saya kerjakan untuk membuat anda memahaminya dengan lebih baik.
Nama fail : connect.js
const { College } = require('./sqlmodels/College.model'); //taking model as a example here const sqlDataSource = new DataSource({ type: "mysql", host: "XXXX", port: 3306, username: 'myUserName', password: 'MyPassWord', database: 'MyDb', driver: require("mysql2"), connectTimeout: 10000, entities: [ College // define all your entities here ], synchronize: true, logging: false });
Sekarang sambung ke pangkalan data MySQL menggunakan kelayakan dan konfigurasi yang ditakrifkan dalam sqlDataSource. Berikut ialah kod untuknya
module.exports.connectSQL = async function () { try { console.log("Trying to connect to SQL Database..."); await sqlDataSource.initialize(); console.log("Successfully connected to SQL Database"); } catch (error) { console.error("Error occured while connecting SQL", error); } }
sentiasa tulis kod anda dalam blok try catch dengan log yang betul, yang akan membantu anda menyahpepijat kod anda dengan lebih cepat, sekiranya anda melakukan kesilapan.
Juga pastikan anda mempunyai sambungan yang betul untuk pangkalan data mongoDb sebelum meneruskan lebih jauh.
Tentukan dahulu skema untuk jadual anda dalam folder Asingkan, izinkan saya namakannya sebagai sqlmodels dan di dalamnya buat halaman untuk model anda.
Kami perlu mengimport fail ini dalam fail connect.js di mana kami menulis kod untuk sambungan (kod pertama)
Berikut ialah sekeping kod untuk skema kolej
const { EntitySchema, Entity, Column } = require('typeorm'); module.exports.College = new EntitySchema({ name: 'College', tableName: 'College', columns: { _id: { primary: true, // true if _id is your primary key type: 'varchar', // define the type length: 255, }, college_name: { // define name of the column and its properties name: 'college_name', type: 'varchar', length: 255, default: 'NO COLLEGE', nullable: false } } })
Pastikan anda mempunyai set sambungan mongoDb anda dan anda juga mempunyai Skema yang ditentukan untuknya.
Kini perkara terakhir dan penting yang perlu kita lakukan ialah menulis fungsi yang akan mengambil data daripada mongoDb dan menambahkannya pada jadual sql.
const { College } = require('./sqlmodels/College.model'); //taking model as a example here const sqlDataSource = new DataSource({ type: "mysql", host: "XXXX", port: 3306, username: 'myUserName', password: 'MyPassWord', database: 'MyDb', driver: require("mysql2"), connectTimeout: 10000, entities: [ College // define all your entities here ], synchronize: true, logging: false });
Di sini saya mengambil data dalam chuck dan kemudian memasukkannya ke dalam jadual, ini akan membantu jika anda berurusan dengan jumlah data yang besar kerana mengambil sejumlah besar data pada satu masa tidak boleh dilakukan dalam mongoDb.
Memandangkan ini blog pertama saya, saya mengalu-alukan cadangan dan maklum balas anda untuk memperbaiki diri saya.
Terima kasih kerana membaca ?
Atas ialah kandungan terperinci ORM dan Migrasi/Menambah Data ke Pangkalan Data MySql dari MongoDb menggunakan TypeOrm dalam javaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!