Was ist ORM?
Object Relational Mapping oder einfach ORM ist eine Bibliothek oder ein Tool, das uns hilft, mit Datenbanken zu interagieren, ohne rohe Datenbankabfragen zu schreiben.
Anstatt Datenbanktabellen und -zeilen direkt zu verwalten, arbeiten wir mit einigen Objekten in unserem Code und der ORM übersetzt diese Objekte in Datenbankabfragen, und wenn die Daten aus der Datenbank zurückgerufen werden, ordnet der ORM die Daten wieder Objekten zu.
ORM schafft eine Brücke zwischen objektorientierten Programmen und relationalen Datenbanken.
Anwendungsfälle:
Wenn wir eine JavaScript-/TypeScript-Anwendung erstellen und eine Datenbank für Backend-Dienste benötigen, können wir einen ORM verwenden, um unsere Anwendung mit der Datenbank zu verbinden.
Einige ORMs, die in verschiedenen Sprachen verwendet werden, sind:
Warum sollten wir ORMs in unserer Anwendung verwenden?
Jetzt wollen wir verstehen, wie wir mithilfe von TypeOrm in JavaScript Daten aus Mongodb zur MySQL-Datenbank hinzufügen können.
Zuallererst müssen wir die Verbindung für MySql und MongoDb einrichten
Definieren Sie zunächst die Konfiguration mithilfe von DataSource, die mithilfe der angegebenen Anmeldeinformationen und Hostinformationen eine Verbindung zur MySQL-Datenbank herstellt. Außerdem werden Entitätsklassen der Datenbanktabelle zugeordnet, wodurch die ORM-Funktionalität aktiviert wird. Hier der Code dafür.
Ich werde ein einfaches College-Modell verwenden, an dem ich gearbeitet habe, damit Sie es besser verstehen.
Dateiname: 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 });
Stellen Sie nun mit den in sqlDataSource definierten Anmeldeinformationen und Konfigurationen eine Verbindung zur MySQL-Datenbank her. Hier ist der Code dafür
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); } }
Schreiben Sie Ihren Code immer in einem Try-Catch-Block mit den richtigen Protokollen, damit Sie Ihren Code schneller debuggen können, falls Sie Fehler machen.
Stellen Sie außerdem sicher, dass Sie über eine ordnungsgemäße Verbindung zur MongoDb-Datenbank verfügen, bevor Sie fortfahren.
Definieren Sie zunächst die Schemata für Ihre Tabelle in einem separaten Ordner, nennen Sie ihn „sqlmodels“ und erstellen Sie darin die Seiten für Ihre Modelle.
Wir müssen diese Datei in die Datei connect.js importieren, in der wir Code für die Verbindung geschrieben haben (erster Code)
Hier ist der Code für das College-Schema
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 } } })
Stellen Sie sicher, dass Sie Ihre mongoDb-Verbindung eingerichtet haben und auch die Schemas dafür definiert haben.
Jetzt müssen wir als Letztes und Wichtiges die Funktion schreiben, die die Daten von mongoDb abruft und sie zu SQL-Tabellen hinzufügt.
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 });
Hier habe ich die Daten in Chucks aufgenommen und sie dann in Tabellen eingefügt. Dies ist hilfreich, wenn Sie mit großen Datenmengen arbeiten, da das gleichzeitige Abrufen großer Datenmengen in mongoDb nicht möglich ist.
Da dies mein erster Blog ist, freue ich mich über Ihre Vorschläge und Ihr Feedback, um mich zu verbessern.
Vielen Dank fürs Lesen ?
Das obige ist der detaillierte Inhalt vonORM und Migrieren/Hinzufügen von Daten zur MySql-Datenbank von MongoDb mithilfe von TypeOrm in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!