MongoDB: MongoDB入門:リレーショナルデータベースからドキュメントデータベースへのパラダイムシフト

MongoDBは世界で最も人気のあるドキュメントデータベースです。柔軟なデータモデリングと高スループットの書き込みをシンプルかつ効率的に実現します。

このチュートリアルは、JavaScriptとNode.jsの基礎知識を持つバックエンド開発者向けに設計されています。NoSQLの基礎から始め、MongoDBとMongooseを使った本番環境対応のアプリケーション構築までをガイドします。

1. 学習内容




2. バックエンドエンジニアの実例

(1) 課題:リレーショナルデータベースでは対応できない

Aliceは越境EC企業のバックエンドエンジニアです。最近、緊急の要望を受けました:

productsテーブルにはすでに200万件のレコードがあります。運用チームは毎日5万件の新規SKUをアップロードする必要があり、各SKUには10〜15個の動的属性(色、サイズ、バッテリー容量、画面リフレッシュレートなど)があります。テーブル構造を変更するにはデータベースを2時間ロックする必要があり、ビジネスチームはすでにテーブルを叩いてイライラしています。」

彼女が直面する問題:

課題 影響
固定されたテーブル構造 新しい属性を追加するたびにALTER TABLE文が必要で、本番サービスに影響
NULLフィールドの増加 90%のフィールドがNULLで、ストレージ容量を無駄に消費
JOINパフォーマンスの低下 数億件のレコードを処理する際、マルチテーブル結合クエリは5秒以上の応答時間
書き込みスループットの低さ リレーショナルなトランザクションのオーバーヘッドが高く、高負荷時に挿入操作が遅延

(2) MongoDBによる解決策

SKUシステムをドキュメントモデルで再設計し、各商品をJSONライクなドキュメントとして扱います。

JAVASCRIPT
// MongoDBドキュメント構造 — 1つのドキュメントが商品レコード全体を表現
{
  _id: ObjectId("..."),
  sku: "PHONE-X-256-BLK",
  title: "Smartphone X 256GB Black",
  price: 599.99,
  category: "Electronics",
  attributes: {           // ネストされたドキュメント、JOIN不要
    color: "Black",
    storage: "256GB",
    screen: "6.5 inch OLED",
    battery: "4500mAh",
    refresh_rate: "120Hz"
  },
  tags: ["5g", "amoled", "fast-charging"],  // 配列フィールド
  stock: { warehouse_1: 50, warehouse_2: 30 },
  created_at: ISODate("2026-07-01T10:00:00Z")
}

(3) 成果

項目 リレーショナル(MySQL) MongoDB
フィールド追加 ALTER TABLE(テーブルロック) 新しいドキュメントを直接挿入
空フィールドの保存 スペースを消費 スペースを消費しない
異種データ JSONカラムまたはEAVテーブルが必要 標準サポート
水平スケーリング 複雑(データベースとテーブルのシャーディング) 組み込みシャーディング
書き込みスループット 5,000 ops/s 50,000+ ops/s



3. NoSQLデータベースの台頭

概念概要:NoSQL(Not Only SQL)データベースは2000年代後半に登場し、インターネットデータの爆発的な増加がきっかけでした。従来のリレーショナルデータベースは、ペタバイト規模のデータ、数百万件の同時接続、異種データに直面した際、3つの主要なボトルネックを露呈しました:固定スキーマによるデータ多様性への適応困難、水平スケーリングの難しさ、大容量データにおけるJOINパフォーマンスの極端な低下。NoSQLの核心的な設計思想は、制約を性能と引き換えることです。強整合性と複雑な結合を犠牲にして、水平スケーラビリティと高スループットを獲得します。

仕組み:4つの主要なNoSQLデータベースファミリーは、それぞれ異なるデータモデルと整合性保証を持っています。キーバリューストアは最もシンプル(O(1)の読み書き)、ドキュメントデータベースは最も汎用的(JSONライクなモデル)、カラム指向データベースは書き込み集中型シナリオに優れ、グラフデータベースは関係性クエリに優れています。ドキュメントデータベースの代表であるMongoDBは、柔軟性とクエリ能力の最適なバランスを実現しています。

(1) なぜNoSQLが必要なのか?

2000年代後半、インターネットアプリケーションからのデータ量が爆発的に増加しました:

(2) NoSQLの4つの主要ファミリー

ポイント解説

  1. キーバリューストアは最もシンプル — キーと値のみで構成され、複雑なクエリはサポートしませんが、最高のパフォーマンスを提供します。
  2. ドキュメントデータベースは最も汎用的 — ネスト、配列、セカンダリインデックスをサポートし、ほとんどのWebアプリケーションに適しています。
  3. カラム指向データベースはデータ取り込みに優れる — データはカラムファミリーごとに保存され、時系列やログデータに適しています。
  4. グラフデータベースは関係性の表現に優れる — ノードとエッジを標準で保存し、ソーシャルネットワークやレコメンデーションシステムに適しています。
種類 代表例 データモデル 典型的な用途 整合性
キーバリュー Redis key → value キャッシュ、セッション、カウンター 結果整合性
ドキュメント MongoDB JSON/BSONドキュメント CMS、EC、IoTログ 設定可能
カラムファミリー Cassandra カラムファミリーBigTable 時系列データ、書き込み集中型 結果整合性
グラフ Neo4j ノード + エッジ ソーシャルネットワーク、レコメンデーションシステム 強整合性
100%
graph LR
    A[NoSQLデータベース] --> B[キーバリューストア<br/>Redis/DynamoDB]
    A --> C[ドキュメントデータベース<br/>MongoDB/CouchDB]
    A --> D[カラム指向データベース<br/>Cassandra/HBase]
    A --> E[グラフデータベース<br/>Neo4j/ArangoDB]

    style A fill:#cce5ff
    style C fill:#d4edda
種類 データモデル 典型的な用途
キーバリュー Redis key → value キャッシュ、セッション、カウンター
ドキュメント MongoDB JSON/BSONドキュメント CMS、EC、IoTログ
カラムファミリー Cassandra カラムファミリーBigTable 時系列データ、書き込み集中型
グラフ Neo4j ノード + エッジ ソーシャルネットワーク、レコメンデーションシステム

(3) なぜMongoDBが最も人気があるのか?

概念概要:MongoDBは4つの主要なNoSQLデータベースファミリーの中で最も高い市場シェアを持っています(DB-EnginesのNoSQLランキングで第1位)。柔軟性と機能の最適なバランスを実現しているからです。キーバリューストアと比較すると、MongoDBはセカンダリインデックスと集計パイプラインをサポートしています。カラム指向データベースと比較すると、ネストされたドキュメントと柔軟なスキーマをサポートしています。グラフデータベースと比較すると、学習曲線がより低いです。

MongoDBの主な利点 説明 他のNoSQLデータベースとの比較
JSONライクなデータモデル フロントエンド開発者にとって学習コストがゼロ Redisはkeyコマンドの学習が必要
ドキュメントのネスト 1つのレコードがオブジェクトツリー全体 Cassandraはマルチテーブル結合が必要
セカンダリインデックス 柔軟性を保ちながらクエリパフォーマンスを維持 Redisにはインデックスがない
集計パイプライン SQLよりも強力なデータ処理 Cassandraはクエリ能力が限定的
公式Node.jsドライバー + mongoose 最も包括的なJSエコシステム 全NoSQLデータベースの中で最良
Atlasクラウドサービス ワンクリックでグローバルクラスター作成 セルフホスティングと運用コストが高い



4. MongoDBの歴史とバージョンの変遷

概念概要:MongoDBは2007年に10gen(現MongoDB Inc.)によって開発され、2009年にオープンソースとしてリリースされました。当初はシンプルなドキュメントストアとして始まり、バージョン4.0でマルチドキュメントトランザクションをサポートし、バージョン7.0でベクトル検索をサポートするまでに進化しました。「複雑なトランザクションを扱えないNoSQLデータベース」から「柔軟なモデリングとACID準拠の両立」を提供する汎用データベースへと進化しました。

進化のタイムライン:MongoDBの発展は3つのフェーズに分類できます。基盤能力フェーズ(1.x〜3.x:コアCRUD + レプリカセット + シャーディング)、エンタープライズ能力フェーズ(4.x〜5.x:マルチドキュメントトランザクション + 時系列コレクション + Atlas検索)、インテリジェント進化フェーズ(6.x〜8.x:ベクトル検索 + クエリ暗号化データ + サーバーレス)。

日付 出来事 意義
2007年 Dwight Merriman、Eliot Horowitz、Kevin Ryanが10genを創業 プロジェクト開始
2009年 MongoDB 1.0リリース(C++ベース) 初のオープンソースリリース
2013年 10genがMongoDB Inc.に社名変更 ブランド確立
2014年 Atlasクラウドサービスローンチ クラウドネイティブ化
2018年 バージョン4.0リリース、マルチドキュメントトランザクション(ACID)をサポート 最大の論争解決
2020年 バージョン5.0リリース、時系列セットとバージョン付きAPIを導入 IoTシナリオ最適化
2023年7月リリース ベクトル検索を標準サポート AI/LLM時代の到来
2026年 8.0リリース(現在のLTS候補) 最新安定版

(1) 4.1 起源

(2) 4.2 MongoDB 7.xの主な機能

100%
graph TB
    A[MongoDB 7.0の主な機能] --> B[ドキュメントモデル<br/>BSON + ネスト]
    A --> C[集計パイプライン<br/>$facet/$bucket/$lookup]
    A --> D[トランザクション<br/>マルチドキュメントACID]
    A --> E[チェンジストリーム<br/>リアルタイム変更監視]
    A --> F[Atlas Search<br/>全文検索 + ベクトル検索]
    A --> G[時系列<br/>IoTシナリオ最適化]

    style A fill:#cce5ff

(3) 4.3 導入方法

概念概要:MongoDBは4つの導入方法をサポートしています。Atlasクラウドサービス(運用オーバーヘッドなし)、単一ノード導入(開発と学習用)、レプリカセット(本番環境の高可用性)、シャーディングクラスター(大規模データの水平スケーリング)。導入方法を選択する際の主要な考慮事項は:データ量、同時接続数、可用性要件、運用能力です。

導入方法 用途 利点 データ量
Atlasクラウドサービス 個人 / 中小企業 / 多国籍企業 メンテナンス不要、グローバル展開、自動バックアップ 弾力的スケーリング
セルフホスト単体 ローカル開発と学習 フルコントロール、コストゼロ < 1TB
セルフホストレプリカセット 本番環境 高可用性、自動フェイルオーバー < 8 TB/シャード
セルフ構築シャーディングクラスター 大規模データ、高スループット 水平スケーリング、ペタバイト規模保存 ペタバイト規模
Docker導入 CI/CD、ローカルテスト クイックスタート、再現可能 開発レベル

▶ サンプル:MongoDBに接続する3つの方法

BASH
# 1. mongoshでAtlasクラウドサービスに接続
mongosh "mongodb+srv://cluster0.mongodb.net/mydb" --username alice

# 2. mongoshでセルフホストのローカルレプリカセットに接続
mongosh "mongodb://localhost:27017/mydb"

# 3. mongoshでDockerコンテナに接続
mongosh "mongodb://192.168.1.100:27017/mydb"



5. ドキュメントモデルとリレーショナルモデル

概念説明:ドキュメントモデルとリレーショナルモデルは、根本的に異なる2つのデータモデリングパラダイムです。リレーショナルモデルはデータを複数のテーブルに分割し、実行時にJOIN操作で結合します。ドキュメントモデルは関連データを単一のドキュメントに埋め込み、1回のクエリで返します。それぞれのモデルには利点と欠点があります。ドキュメントモデルは凝集性の高いデータと頻繁なスキーマ変更のシナリオに適しており、リレーショナルモデルはデータ間の複雑な関係と強力なトランザクション整合性が必要なシナリオに適しています。

仕組み:リレーショナルモデルは正規化設計に従います。各データは1回だけ保存され、外部キー参照でリンクされます。ドキュメントモデルは非正規化設計に従います。一緒に頻繁にアクセスされるデータは同じドキュメント内に埋め込まれ、冗長性と引き換えにクエリパフォーマンスを獲得します。MongoDBは最大100レベルの深さまでドキュメントのネストをサポートし、最大ドキュメントサイズは16 MBで、ほとんどのWebアプリケーションのデータモデリングニーズを十分に満たします。

(1) 根本的な違い

100%
graph TB
    subgraph リレーショナルモデル
        T1[usersテーブル<br/>id, name, email] --> J1[JOIN]
        T2[ordersテーブル<br/>id, user_id, total] --> J1
        T3[order_itemsテーブル<br/>id, order_id, product_id] --> J1
        J1 --> R[検索結果<br/>実行時に結合が必要]
    end

    subgraph ドキュメントモデル
        D1[ordersコレクション<br/>1ドキュメント = 1注文<br/>user + itemsを含む] --> R2[検索結果<br/>1回のクエリで返す]
    end

    style J1 fill:#f8d7da
    style R2 fill:#d4edda

(2) リレーショナル用語とMongoDB用語の比較

リレーショナル用語 MongoDB用語 説明
データベース データベース データベース
テーブル コレクション テーブル / コレクション
ドキュメント 行 / ドキュメント
フィールド 列 / フィールド
主キー _id 主キー(自動生成されるObjectId)
外部キー 参照 / 埋め込み 外部キー / 埋め込みドキュメント
JOIN $lookup / 埋め込み テーブル結合 / ドキュメントネスト
インデックス インデックス インデックス
トランザクション トランザクション(4.0以降) トランザクション

(3) いつMongoDBを使い、いつSQLを使うべきか?

概念説明:MongoDBとSQLは相互に排他的ではありません。多くの本番システムは両方を使用します(Polyglot Persistence)。MongoDBは頻繁なスキーマ変更と高書き込みスループットのシナリオに適しており、SQLは強力なトランザクション整合性と複雑な関係性が必要なシナリオに適しています。重要なのは、自分のビジネスシナリオがどのカテゴリーに分類されるかを識別することです。

シナリオ 推奨 理由
頻繁なスキーマ変更(CMS、商品カタログ) ✅ MongoDB ドキュメントは標準で異種データをサポート
高書き込みスループット(ログ、IoT) ✅ MongoDB ドキュメントレベルの原子性、トランザクションロックなし
複雑なマルチテーブル結合(ERP、銀行) ⚠️ 注意して使用 $lookupはJOINほど成熟していない
強力なトランザクション整合性(金融、在庫) ⚠️ MongoDB 4.0以降 サポートされているが、パフォーマンスオーバーヘッドあり
大規模データOLAP(データウェアハウス) ❌ 注意して使用 ClickHouse / BigQueryがより良い選択肢
固定スキーマ(注文、ユーザー) ✅ SQLも可 チームの好みによる

ハイブリッドアプローチ:コアビジネスデータ(ユーザー、注文、決済)にはMySQLを使用してトランザクション整合性を確保し、行動ログ、商品カタログ、コンテンツデータにはMongoDBを使用して柔軟なモデリングを行います。メッセージキューまたはETLパイプラインでデータを同期します。




6. MongoDB Atlasクラウドサービス

概念概要:MongoDB Atlasは、AWS、Azure、Google Cloudの3つの主要クラウドプラットフォームで利用可能な公式のフルマネージドクラウドデータベースサービスです。Atlasの核心的な価値は「ゼロメンテナンス」です。レプリカセットの自動展開、バックアップ、フェイルオーバー、監視アラート、セキュリティパッチ適用を自動的に行います。専任のDBAがいないチームにとって、Atlasは運用時間を80%削減できます。

(1) Atlasとは?

MongoDB Atlasは、MongoDBが提供するフルマネージドクラウドデータベースサービスで、AWS、Azure、Google Cloudの3つの主要クラウドプラットフォームで利用可能です。

100%
graph LR
    A[あなたのアプリ] --> B[Atlasグローバルクラスター]
    B --> C[マルチリージョンレプリカ<br/>自動フェイルオーバー]
    B --> D[自動バックアップ<br/>PITRポイントインタイムリカバリー]
    B --> E[監視アラート<br/>パフォーマンス最適化推奨]
    B --> F[セキュリティとコンプライアンス<br/>SCRAM + TLS]

    style B fill:#d4edda

(2) Atlas無料枠

リソース 無料枠
ストレージ 512 MB
メモリ 共有
リージョン 任意
バックアップ なし
期間 永久無料

▶ サンプル 1:5分でAtlasクラスターを作成

TEXT 📖 参照専用
1. https://www.mongodb.com/cloud/atlas/register にアクセスして登録
2. "Build a Cluster" → "Shared" → "Free" を選択
3. クラウドプロバイダー(AWS)とリージョンを選択(ターゲット市場に近い場所を推奨)
4. クラスター名:Cluster0
5. "Create Cluster" をクリック、1〜3分待機
6. "Database Access" でユーザーを追加(ユーザー名 + パスワード)
7. "Network Access" でIPホワイトリストを追加(0.0.0.0/0 で全IPを許可)
8. "Connect" → "Connect your application" をクリック → 接続文字列を取得

(3) 3つのクラスター階層

階層 適用 価格
M0 Sandbox 学習、プロトタイピング 無料
M10 / M20 小規模本番 月額約$60から
M30 / M40 中規模本番 月額約$300から
M80以上 大規模本番 月額$2,000以上
Atlas Serverless 断続的負荷 従量課金制



7. MongoDBエコシステム概要

(1) コアコンポーネント

100%
graph TB
    subgraph "MongoDBエコシステム"
        A[MongoDB Server<br/>コアデータベースエンジン]
        B[mongosh<br/>コマンドラインクライアント]
        C[MongoDB Compass<br/>GUI可視化ツール]
        D[MongoDB Atlas<br/>クラウドホスティングサービス]
        E[BI Connector<br/>Tableau / Power BI連携]
        F[Kafka Connector<br/>リアルタイムデータパイプライン]
        G[mongodump / mongorestore<br/>バックアップ・復旧ツール]
    end

    A --> B
    A --> C
    A --> D
    A --> E
    A --> F
    A --> G

    style A fill:#cce5ff
    style D fill:#d4edda

(2) プログラミング言語ドライバー

言語 公式ドライバー 人気のODM/ORM
JavaScript / Node.js mongodb mongoose(27k⭐)
Python pymongo MongoEngineFlask-MongoEngine
Java mongodb-driver-sync Spring Data MongoDB
Go mongo-go-driver mgoQor
PHP mongodb Doctrine MongoDB
C# MongoDB.Driver MongoDB.Entities
Ruby mongo Mongoid

(3) Node.jsエコシステムのデファクトスタンダード:Mongoose

概念概要:MongooseはNode.jsエコシステムで最も人気のあるMongoDB ODM(Object Document Modeling)で、GitHubで27k以上のスターを獲得しています。ネイティブのmongodbドライバーの上に、スキーマ定義、データ検証、ミドルウェア、populate結合クエリなどの高度な機能を提供し、MongoDB操作をより安全で使いやすくしています。トレードオフとして、わずかなパフォーマンスオーバーヘッドがあります(lean()で無効化可能)。

項目 ネイティブMongoDBドライバー Mongoose ODM
スキーマ定義 ❌ なし ✅ 型 + 検証
データ検証 手動 自動
ミドルウェア ❌ なし ✅ pre/postフック
結合クエリ 手動$lookup ✅ populate()
パフォーマンス 最適 わずかに低い(lean()で補完可能)
学習曲線 低い 中程度
JAVASCRIPT
// mongoose 7.x — Node.jsエコシステムで最も人気のあるODM(27k⭐)
const mongoose = require('mongoose');

// 1. データベースに接続
mongoose.connect('mongodb://localhost:27017/shophub');

// 2. スキーマ定義(データモデル)
const productSchema = new mongoose.Schema({
  sku: { type: String, required: true, unique: true },
  title: { type: String, required: true },
  price: { type: Number, required: true, min: 0 },
  category: { type: String, enum: ['Electronics', 'Clothing', 'Books'] },
  attributes: { type: Object, default: {} },
  tags: [String],
  stock: { type: Number, default: 0 }
}, { timestamps: true });

// 3. モデル作成
const Product = mongoose.model('Product', productSchema);

// 4. CRUD操作
const phone = await Product.create({
  sku: 'PHONE-X-256-BLK',
  title: 'Smartphone X 256GB Black',
  price: 599.99,
  category: 'Electronics',
  attributes: { color: 'Black', storage: '256GB' },
  tags: ['5g', 'amoled'],
  stock: 80
});

▶ サンプル 2:MongoDBツールチェーンの完全インストール

BASH
# 1. mongoshインストール(コマンドラインクライアント)
brew install mongosh        # macOS
sudo apt install mongosh    # Ubuntu

# 2. MongoDB Compassインストール(GUIツール)
# https://www.mongodb.com/try/download/compass からダウンロード

# 3. Node.jsドライバーインストール
npm install mongodb --save

# 4. mongooseインストール(推奨)
npm install mongoose --save

# 5. インストール確認
mongosh --version
node -e "console.log(require('mongoose').version)"



8. MongoDBと3つの主要ターゲット市場

(1) 中東市場(アラビア語)

活用事例

MongoDBの利点

(2) ブラジル市場(ポルトガル語)

活用事例

MongoDBの利点

(3) 日本市場(日本語)

活用事例

MongoDBの利点




9. 推奨学習パス

(1) このチュートリアルのロードマップ

100%
graph LR
    A[フェーズ1<br/>MongoDB入門<br/>6レッスン] --> B[フェーズ2<br/>CRUD + mongoose<br/>7レッスン]
    B --> C[フェーズ3<br/>集計 + インデックス<br/>7レッスン]
    C --> D[フェーズ4<br/>トランザクション + レプリカセット + シャーディング<br/>5レッスン]
    D --> E[フェーズ5<br/>Node.js実践 + 総合プロジェクト<br/>5レッスン]

    style A fill:#d4edda
    style E fill:#cce5ff

(2) 前提知識

必須 推奨
✅ JavaScript基礎(ES6以降) TypeScript
✅ Node.js基礎 Expressフレームワーク
✅ コマンドライン操作 Docker
✅ HTTP / REST API JSONデータ形式

(3) 推定学習時間


❓ よくある質問

Q MongoDBは無料ですか?
A MongoDB Community Edition(オンプレミス)は完全に無料でオープンソースです(SSPLライセンス)。MongoDB Atlasは512 MBのクラスターが永久無料です。商用版(Enterprise Advanced)はクラスターサイズに基づいて課金されます。
Q MongoDBとMySQLのどちらを選ぶべきですか?
A ビジネスシナリオによります。固定スキーマ + 強力なトランザクション(例:注文、ERP)→ MySQL。頻繁なスキーマ変更 + 高書き込み(例:CMS、商品カタログ、ログ)→ MongoDB。ハイブリッドアプローチも可能(コアビジネスデータはMySQL + ユーザー行動ログはMongoDB)。
Q MongoDBを学ぶにはSQLの知識が必要ですか?
A いいえ。このチュートリアルはドキュメントデータベースの概念をゼロから説明します。ただし、SQLの基礎知識があれば、集計パイプラインの$lookup(JOINに類似)や$group(GROUP BYに類似)などのMongoDBの概念をより早く理解できます。
Q MongoDBの「ドキュメント」とJSONの関係は?
A MongoDBドキュメントはBSON(Binary JSON)形式で保存され、JSONよりも多くのデータ型(Date、ObjectId、Decimal128など)をサポートしています。ただし、構文はJSONとほぼ同じため、フロントエンド開発者にとって学習コストはありません。
Q MongoDBはどの程度のサイズのデータセットを保存できますか?
A MongoDBの単一ドキュメントの最大サイズは16 MBです(設計思想:非常に大きなドキュメントの保存を避ける)。単一コレクションはペタバイト規模のデータを保存可能です(シャーディング経由)。Atlasでは、最大クラスターは4,096シャードをサポートし、各シャードは32 TBを保存可能です。
Q Mongooseとは何ですか?なぜ使うのですか?
A MongooseはNode.jsエコシステムで最も人気のあるMongoDB ODMです(27k⭐)。スキーマ定義、データ検証、ミドルウェア、populate結合クエリなどの高度な機能を提供します。ネイティブのmongodbドライバーより使いやすいですが、わずかなパフォーマンスオーバーヘッドがあります(本番環境では無効化可能)。

📖 まとめ


📝 練習問題

  1. 基礎問題(⭐)mongodb.com/cloud/atlasにアクセスしてアカウント登録し、無料のM0クラスターを作成し、mongoshを使用して正常に接続してください。

  2. 基礎問題(⭐):Atlasクラスターでdb.runCommand({ ping: 1 })コマンドを実行し、出力をスクリーンショットし、MongoDB接続検証の基礎を確認してください。

  3. 応用問題(⭐⭐):mongoshで次のコマンドを実行してください:use shopdbdb.products.insertOne({ sku: "TEST-001", title: "Test Product", price: 9.99 })db.products.find().pretty()を行い、MongoDBの暗黙的データベース/コレクション作成を理解してください。

  4. 応用問題(⭐⭐):MongoDB公式ドキュメントの「What is NoSQL?」セクションを読み、4つの主要なNoSQLファミリー(キーバリュー、ドキュメント、カラム指向、グラフ)それぞれについて実世界の活用事例を1つ挙げてください。

  5. チャレンジ(⭐⭐⭐):2つのNode.js ORM — MongoDB(Mongoose)とMySQL(Sequelize)— を比較し、それぞれについて「ユーザーテーブル/コレクションの作成(5フィールド)」のコードを実装し、2つのORMのAPIスタイルの違いを記録してください。

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%