SQL から MongoDB へのマッピング チャート
以下の表に加えて、MongoDB に関してよく尋ねられる質問をまとめた よくある質問セクションも参照してください。
用語と概念
次の表は、さまざまな SQL の用語と概念と、それに対応する MongoDB の用語と概念を示しています。
SQL の用語と概念 | MongoDB の用語と概念 |
---|---|
database | |
テーブル | |
行 | |
コラム | |
index | |
テーブル結合 |
|
プライマリキー 任意の一意の列または列の組み合わせをプライマリキーとして指定します。 | |
集計(例: group by) | 集計パイプライン 「SQLから集計へのマッピング チャート」を参照してください。 |
SELECT INTO NEW_TABLE | 「SQLから集計へのマッピング チャート」を参照してください。 |
MERGE INTO TABLE | 「SQLから集計へのマッピング チャート」を参照してください。 |
UNION ALL | |
トランザクション | 多くのシナリオでは、マルチドキュメントトランザクションではなく、非正規化されたデータモデル(埋め込みドキュメントと配列)が、引き続きデータやユースケースに最適です。つまり、多くのシナリオでは、データを適切にモデル化することで、マルチドキュメントトランザクションの必要性を最小限に抑えることができます。 |
実行ファイル
次の表は、一部のデータベース実行ファイルと、それに対応する MongoDB 実行ファイルを示しています。この表は、すべてを網羅するものではありません。
例
次の表は、さまざまな SQL ステートメントと、それに対応する MongoDB ステートメントを示しています。この表の例は、次の条件を前提としています。
SQL の例では、
people
という名前のテーブルを前提としています。MongoDB の例では、次のプロトタイプのドキュメントを含む
people
という名前のコレクションを前提としています。{ _id: ObjectId("509a8fb2f3f4948bd2f983a0"), user_id: "abc123", age: 55, status: 'A' }
作成と変更
次の表は、テーブル レベルのアクションに関するさまざまな SQL のステートメントと、それに対応する MongoDB のステートメントを示しています。
SQL スキーマ ステートメント | MongoDB スキーマ ステートメント | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 最初の
ただし、コレクションを明示的に作成することもできます。
| ||||||||||||||
| コレクションはドキュメントの構造を記述したり強制したりしません。つまり、コレクション レベルでの構造変更はありません。 ただし、ドキュメント レベルでは、
| ||||||||||||||
| コレクションはドキュメントの構造を記述したり強制したりしません。つまり、コレクション レベルでの構造変更はありません。 ただし、ドキュメント レベルでは、
| ||||||||||||||
|
| ||||||||||||||
|
| ||||||||||||||
|
|
使用されるメソッドと演算子の詳細については、以下を参照してください。
Insert
次の表は、テーブルへのレコードの挿入に関連するさまざまな SQL のステートメントと、それに対応する MongoDB のステートメントを示しています。
SQL の INSERT ステートメント | MongoDB の insertOne() ステートメント | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|
選択する
次の表は、テーブルからのレコードの読み取りに関連するさまざまな SQL のステートメントと、それに対応する MongoDB のステートメントを示しています。
注意
SQL の SELECT ステートメント | MongoDB の find() ステートメント | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
| ||||||||
|
または
| ||||||||
|
または
| ||||||||
|
| ||||||||
|
| ||||||||
|
or
| ||||||||
|
or
| ||||||||
|
or
| ||||||||
|
または、BSON のサイズ制限を超えない個別の値セットの場合
| ||||||||
|
or
| ||||||||
|
| ||||||||
|
|
使用されるメソッドと演算子についての詳細は、以下を参照してください。
レコードのアップデート
次の表は、テーブル内の既存のレコードの更新に関連するさまざまな SQL のステートメントと、それに対応する MongoDB のステートメントを示しています。
SQL の Update ステートメント | MongoDB の updateMany() ステートメント | |||||||
---|---|---|---|---|---|---|---|---|
|
| |||||||
|
|
例で使用されているメソッドと演算子の詳細については、以下を参照してください。
レコードの削除
次の表は、テーブルからのレコードの削除に関連するさまざまな SQL のステートメントと、それに対応する MongoDB のステートメントを示しています。
SQL の Delete ステートメント | MongoDB の deleteMany() ステートメント | |||
---|---|---|---|---|
|
| |||
|
|
さらに読む
SQL アプリケーションの MongoDB への移行をお考えの場合は、「MongoDB アプリケーション モダナイゼーション ガイド」をダウンロードしてください。
ダウンロードには、次のリソースが含まれています。
MongoDB を使用したデータ モデリングの方法論に関するプレゼンテーション
RDBMS データモデルから MongoDB に移行するためのベストプラクティスと考慮事項を説明したホワイトペーパー
MongoDB のスキーマを RDBMS の同等のスキーマで参照
アプリケーション モダナイゼーション スコアカード