ORM とは何ですか?
オブジェクト リレーショナル マッピング、または単に ORM は、生のデータベース クエリを作成せずにデータベースと対話するのに役立つライブラリまたはツールです。
データベースのテーブルと行を直接管理する代わりに、コード内でいくつかのオブジェクトを操作し、ORM がこのオブジェクトをデータベース クエリに変換し、データベースからデータが取得されると、ORM がデータをオブジェクトにマッピングし直します。
ORM は、オブジェクト指向プログラムとリレーショナル データベースの間にブリッジを作成します。
使用例:
JavaScript/TypeScript アプリケーションを作成していて、バックエンド サービス用のデータベースが必要な場合は、ORM を使用してアプリケーションをデータベースに接続できます。
さまざまな言語で使用される ORM は次のとおりです。
アプリケーションで ORM を使用する必要があるのはなぜですか?
JavaScript で TypeOrm を使用して、mongodb から Mysql データベースにデータを追加する方法を理解しましょう。
まず最初に行う必要があるのは、MySql と MongoDb の接続を設定することです
最初に、指定された資格情報とホスト情報を使用して MySql データベースに接続する DataSource を使用して構成を定義します。また、エンティティ クラスをデータベース テーブルにマッピングして、orm 機能を有効にします。ここにそのコードがあります。
よりよく理解していただくために、私が取り組んだ簡単な大学モデルを取り上げます。
ファイル名: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 });
次に、sqlDataSource で定義された資格情報と構成を使用して、MySQL データベースに接続します。そのコードは次のとおりです
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); } }
常に適切なログを含む try catch ブロック内にコードを記述してください。これにより、間違いを犯した場合にコードをより迅速にデバッグできます。
次に進む前に、mongoDb データベースに適切に接続していることも確認してください。
まず、別のフォルダーでテーブルのスキーマを定義します。それに sqlmodels という名前を付け、その中にモデルのページを作成します。
このファイルを、接続用のコード (最初のコード) を記述した connect.js ファイルにインポートする必要があります
これが大学スキーマのコードです
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 } } })
mongoDb 接続が設定されていること、およびその接続に対してスキーマが定義されていることを確認してください。
最後に行う必要がある重要なことは、mongoDb からデータを取得して 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 });
ここではデータをチャックに取得してテーブルに挿入しました。mongoDb では一度に大量のデータをフェッチすることが不可能なため、大量のデータを扱う場合に役立ちます。
これは私の最初のブログなので、自分自身を改善するためにあなたの提案やフィードバックを歓迎します。
読んでいただきありがとうございます?
以上がORM と JavaScript で TypeOrm を使用した MongoDb から MySql データベースへのデータの移行/追加の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。