MongoDB とは?
MongoDB は、アプリケーションデータベースとスケーリングを容易にするために設計されたドキュメント データベースです。
MongoDB は、次の環境で実行できます。
MongoDB Atlas:MongoDB をクラウドに配置するための完全管理サービス
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが公開され、無料で使用できる、自己管理型の MongoDB バージョン
MongoDB でデータを操作する
MongoDB の配置
MongoDB Atlas UI または Atlas CLI で、迅速かつ容易にクラスターを作成できます。詳細については、MongoDB Atlas ドキュメントの「クラスターの作成」および Atlas CLI ドキュメントの「Atlas の使用方法」を参照してください。
セルフホスト型配置でレプリカセットを作成するには、MongoDB マニュアルの「レプリケーション」を参照してください。
配置に接続
配置には MongoDB Atlas UI でアクセスするか、MongoDB マニュアルにあるドライバーまたは MongoDB Shell (mongosh) で接続します。
詳細については、MongoDB マニュアルの「接続文字列の検索」を参照してください。
ドキュメントの挿入、クエリ、更新、削除
MongoDB Atlas UI または MongoDB クエリ API を使用して、トランザクションの有無にかかわらず CRUD 操作を実行できます。
詳細については、MongoDB Atlas ドキュメントの「ドキュメントの作成、表示、更新、削除」および MongoDB マニュアルの「MongoDB CRUD 操作」を参照してください。
データのモデル化
Design your data schema to support frequent access patterns. You can update or enforce your schema at any point.
詳細については、MongoDB マニュアルの「データ モデリングの概要」を参照してください。
➜ atlas setup ? Do you want to setup your Atlas database with default settings? (Y/n) ➜ Y We are deploying Cluster9876543... Please store your database authentication access details in a secure location. Database User Username: Cluster9876543 Database User Password: abcdef12345 Creating your cluster... [Its safe to 'Ctrl + C']
データのインポート
データベース ツールを使用して、CSV または JSON ファイルからデータをインポートします。
詳細については、MongoDB Atlas ドキュメントの「データの移行またはインポート」およびデータベース ツール ドキュメントの「mongoimport」を参照してください。
データを集計する
集計パイプライン を使用してデータを複数の段階で処理し、計算された結果を返します。 MongoDB Atlas で集計パイプラインを実行すると、各パイプライン ステージで結果をプレビューできます。
詳細については、MongoDB Atlas ドキュメントの「集計パイプラインの実行」および MongoDB マニュアルの「集計操作」を参照してください。
test> db.orders.insertMany([ { "item" : "almonds", "price" : 12, "quantity" : 2 }, { "item" : "pecans", "price" : 20, "quantity" : 1 }, ]) test> db.inventory.insertMany([ { "sku" : "almonds", "description": "product 1", "instock" : 120 }, { "sku" : "cashews", "description": "product 3", "instock" : 60 }, { "sku" : "pecans", "description": "product 4", "instock" : 70 } ]) test> db.orders.aggregate([ { $match: { price: { $lt: 15 } } }, { $lookup: { from: "inventory", localField: "item", foreignField: "sku", as: "inventory_docs" } }, { $sort: { price: 1 } }, ])
クライアントを認証する
認証を使用して、ユーザー、レプリカセット ノード、またはシャーディングされたクラスター ノードの ID を確認します。
詳細については、MongoDB Atlas ドキュメントの「Atlas UI 認証」および MongoDB マニュアルの「認証」を参照してください。
データベースへのアクセスを制御する
ロールベースのアクセス制御 を有効にして、データベースクラスター全体または個々のコレクションに対するユーザー特権を管理します。
詳細については、MongoDB Atlas ドキュメントの「Atlas UI 認証」および MongoDB マニュアルの「ロールベースのアクセス制御」を参照してください。
最も機密性の高いデータの暗号化
クライアント側のフィールドレベル暗号化により、データベースによって使用されている間データが保護されます。 フィールドはアプリケーションを離れる前に暗号化され、ネットワーク上、メモリ内、および保管時にフィールドを保護します。
詳細については、MongoDB マニュアルの 「クライアント側フィールド レベルの暗号化」 を参照してください。
クラスターの作成
無料クラスター、オートスケーリング クラスター、サーバーレス インスタンスを MongoDB Atlas UI で作成します。 詳細については、MongoDB Atlas ドキュメントの「クラスタータイプの選択」を参照してください。
セルフホスト型配置の場合は、レプリカセットを配置してデータベースの冗長性と回復力を提供します。 詳細については、MongoDB マニュアルの 「レプリケーション」 を参照してください。
データベースのスケールアウト
シャーディング分離 を使用して、データベースを水平方向にスケーリングしたり、データをロケーションベースに確保します。
詳細については、MongoDB Atlas ドキュメントの「コレクションのシャーディング」および MongoDB マニュアルの「シャーディング」を参照してください。
MongoDB でもっと先へ
MongoDB のライブラリとツールをご覧ください。
アプリケーションの言語で MongoDB を使用する
MongoDB Compass でデータを視覚的に探る
配置の管理とモニター