MongoDB コレクションを作成する

MongoDBMongoDBBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、MongoDBを操作する基本的な手順を学びます。特に、MongoDBシェル(mongosh)を使ってデータベースとコレクションを作成および管理する方法に焦点を当てます。MongoDBシェルを起動したり、新しいデータベースを作成したり、コレクションを追加したり、サンプルドキュメントを挿入したり、基本的なコレクション管理操作を行う方法を探求します。

実践的なアプローチを通じて、usecreateCollection()insertOne()insertMany()drop()などの重要なMongoDBコマンドを使った実際の経験を得ます。この実験が終了するまでに、MongoDBで基本的な作成、読み取り、更新、削除(CRUD)操作を行う方法を十分に理解し、より高度なデータベースの相互作用のための強固な基盤を築きます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mongodb(("MongoDB")) -.-> mongodb/BasicOperationsGroup(["Basic Operations"]) mongodb(("MongoDB")) -.-> mongodb/QueryOperationsGroup(["Query Operations"]) mongodb(("MongoDB")) -.-> mongodb/DataTypesGroup(["Data Types"]) mongodb/BasicOperationsGroup -.-> mongodb/start_mongodb_shell("Start MongoDB Shell") mongodb/BasicOperationsGroup -.-> mongodb/create_database_collection("Create Database and Collection") mongodb/BasicOperationsGroup -.-> mongodb/insert_document("Insert Document") mongodb/BasicOperationsGroup -.-> mongodb/delete_document("Delete Document") mongodb/QueryOperationsGroup -.-> mongodb/find_documents("Find Documents") mongodb/DataTypesGroup -.-> mongodb/use_string_data_types("Use String Data Types") subgraph Lab Skills mongodb/start_mongodb_shell -.-> lab-420695{{"MongoDB コレクションを作成する"}} mongodb/create_database_collection -.-> lab-420695{{"MongoDB コレクションを作成する"}} mongodb/insert_document -.-> lab-420695{{"MongoDB コレクションを作成する"}} mongodb/delete_document -.-> lab-420695{{"MongoDB コレクションを作成する"}} mongodb/find_documents -.-> lab-420695{{"MongoDB コレクションを作成する"}} mongodb/use_string_data_types -.-> lab-420695{{"MongoDB コレクションを作成する"}} end

MongoDBシェルを起動する

MongoDBのハンズオン実験へようこそ!この包括的なチュートリアルでは、MongoDBシェル(mongosh)を使ってMongoDBの基本操作を探求します。この実験は、MongoDBを使ったデータベース管理の実践的な手順を紹介することを目的としています。

MongoDBは、動的かつ拡張可能なデータストレージを可能にする強力で柔軟なNoSQLデータベースです。実際の演習に入る前に、環境を設定して探求し始めましょう。

ターミナルを開いてMongoDBシェルを起動する

MongoDBの旅を始めるには、まずMongoDBシェルを起動します。この対話型の環境を使って、コマンドを使ってMongoDBデータベースと直接やり取りすることができます。

実験環境でターミナルを開き、mongoshコマンドを実行してMongoDBシェルを起動します。

mongosh

MongoDBシェルの出力:

Current Mongosh Log ID: 65a7f3e8f5a8a9b3c4d5e6f7
Connecting to:           mongodb://127.0.0.1:27017/
Using MongoDB:           7.0.2
Using Mongosh:           2.1.1

MongoDBシェルの基本コマンドを探求する

まず、MongoDBインスタンスにある利用可能なデータベースを一覧表示しましょう。

MongoDBシェルの入力:

> show dbs

MongoDBシェルの出力:

admin   40.00 KiB
config  12.00 KiB
local   40.00 KiB

これらのデフォルトのデータベースは、MongoDBが自動的に作成するシステムデータベースです。次の手順では、独自のデータベースとコレクションを作成します。

データベースとコレクションを作成する

MongoDBシェルを起動したので、新しいデータベースとコレクションを作成する方法を学びましょう。MongoDBでは、データベースとコレクションは最初に使用するときに動的に作成されます。

新しいデータベースに切り替える

useコマンドを使って、universityという名前の新しいデータベースを作成します。

MongoDBシェルの入力:

> use university

MongoDBシェルの出力:

switched to db university

useコマンドは、存在しない場合は新しいデータベースを作成し、既存のデータベースに切り替えます。

コレクションを作成する

次に、universityデータベース内にstudentsという名前のコレクションを作成します。

MongoDBシェルの入力:

> db.createCollection("students")

MongoDBシェルの出力:

{ ok: 1 }

データベースとコレクションを確認する

現在のデータベースを確認し、そのコレクションを一覧表示しましょう。

MongoDBシェルの入力:

> db

MongoDBシェルの出力:

university

MongoDBシェルの入力:

> show collections

MongoDBシェルの出力:

students

新しいデータベースとコレクションを正常に作成しました。次の操作のための舞台整備ができました。

サンプルドキュメントを挿入する

このステップでは、studentsコレクションにドキュメントを挿入する方法を学びます。MongoDBは、柔軟なJSON形式に似たドキュメントモデルを使用しており、動的で多様なデータ構造をサポートしています。

単一のドキュメントを挿入する

insertOne()メソッドを使用して、単一の学生ドキュメントを挿入します。

MongoDBシェルの入力:

> db.students.insertOne({
    name: "John Doe",
    age: 22,
    major: "Computer Science",
    gpa: 3.7
})

MongoDBシェルの出力:

{
  acknowledged: true,
  insertedId: ObjectId("...")
}

複数のドキュメントを挿入する

次に、insertMany()メソッドを使用して、複数の学生ドキュメントを挿入します。

MongoDBシェルの入力:

> db.students.insertMany([
    {
        name: "Alice Smith",
        age: 21,
        major: "Data Science",
        gpa: 3.9
    },
    {
        name: "Bob Johnson",
        age: 23,
        major: "Software Engineering",
        gpa: 3.5
    }
])

MongoDBシェルの出力:

{
  acknowledged: true,
  insertedIds: {
    '0': ObjectId("..."),
    '1': ObjectId("...")
  }
}

挿入されたドキュメントを確認する

挿入されたドキュメントの数を確認し、その内容を表示しましょう。

MongoDBシェルの入力:

> db.students.countDocuments()

MongoDBシェルの出力:

3

MongoDBシェルの入力:

> db.students.find()

MongoDBシェルの出力:

[
  {
    _id: ObjectId('674433d99d1e4f9235c1c18c'),
    name: 'John Doe',
    age: 22,
    major: 'Computer Science',
    gpa: 3.7
  },
  {
    _id: ObjectId('674433e09d1e4f9235c1c18d'),
    name: 'Alice Smith',
    age: 21,
    major: 'Data Science',
    gpa: 3.9
  },
  {
    _id: ObjectId('674433e09d1e4f9235c1c18e'),
    name: 'Bob Johnson',
    age: 23,
    major: 'Software Engineering',
    gpa: 3.5
  }
]

コレクションの状態を表示する

コレクションの状態と特性を理解することは、効果的なデータベース管理にとって重要です。このステップでは、コレクション情報を取得するためのさまざまな方法を探求します。

コレクションの統計情報を確認する

コレクションに関する詳細情報を取得するには、stats() メソッドを使用します。

MongoDBシェルの入力:

> db.students.stats()

MongoDBシェルの出力:

{
  ns: 'university.students',
  count: 3,
  size: 456,
  avgObjSize: 152,
  storageSize: 16384,
  freeStorageSize: 0,
  capped: false,
  nindexes: 1,
  indexDetails: { _id_: {... } },
  totalIndexSize: 16384,
  indexSizes: { _id_: 16384 },
  scaleFactor: 1
}

コレクション情報を一覧表示する

コレクションに関する基本情報を表示します。

MongoDBシェルの入力:

> db.students.dataSize()

MongoDBシェルの出力:

456

MongoDBシェルの入力:

> db.students.count()

MongoDBシェルの出力:

3

コレクションのインデックスを表示する

コレクションのインデックスを確認します。

MongoDBシェルの入力:

> db.students.getIndexes()

MongoDBシェルの出力:

[
  {
    v: 2,
    key: { _id: 1 },
    name: '_id_',
    ns: 'university.students'
  }
]

テスト用コレクションを削除する

この最後のステップでは、MongoDBでコレクションを削除する方法を示します。データベースからコレクション全体を削除したい場合に役立ちます。

テスト用コレクションを作成する

まず、削除プロセスを示すための一時的なコレクションを作成します。

MongoDBシェルの入力:

> use university

MongoDBシェルの出力:

switched to db university

MongoDBシェルの入力:

> db.createCollection("temp_students")

MongoDBシェルの出力:

{ ok: 1 }

MongoDBシェルの入力:

> db.temp_students.insertOne({name: "Test Student"})

MongoDBシェルの出力:

{
  acknowledged: true,
  insertedId: ObjectId("...")
}

コレクションを削除する

一時的なコレクションを削除するには、drop() メソッドを使用します。

MongoDBシェルの入力:

> db.temp_students.drop()

MongoDBシェルの出力:

true

コレクションの削除を確認する

コレクションがもはや存在しないことを確認します。

MongoDBシェルの入力:

> show collections

MongoDBシェルの出力:

students

おめでとうございます!MongoDBのハンズオン実験を完了しました。データベースの作成、ドキュメントの挿入、コレクションの状態の確認、コレクションの削除などの重要な操作を学びました。

まとめ

この実験では、実践的なハンズオン経験を通じてMongoDBを操作するコアスキルを習得しました。まず、MongoDBシェルを起動し、「university」という名前の新しいデータベースを作成し、「students」コレクションを追加しました。その後、insertOne()insertMany() メソッドを使用して単一と複数のドキュメントを挿入する練習を行い、ドキュメントの作成と管理について理解を深めました。

また、コレクションの統計情報を確認したり、ドキュメントを数えたり、コレクションを削除したりといった重要なMongoDB操作も検討しました。これらの基本的なスキルは、データベースの相互作用を理解するための堅牢な基礎を提供し、基本的なCRUD操作を実行し、MongoDBデータベースを効果的に管理する自信を与えます。段階的なアプローチにより、現実世界のデータベース管理シナリオに適用できる実践的な知識を身に付けることができました。