あなたの最初の MongoDB の実験

MongoDBMongoDBIntermediate
オンラインで実践に進む

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

はじめに

LabEx へようこそ!これがあなたの初めての MongoDB の実験です。もしこれまでにデータベースを使ったことがなくても心配しないでください。私たちがあなたを一歩一歩案内します。

まず、MongoDB とは何かを理解しましょう。MongoDB は、柔軟なドキュメント形式でデータを保存するデータベースシステムです。従来のスプレッドシートとは異なり、MongoDB はあなたがコンピュータのフォルダにファイルを整理するのと同じように、もっと自然な方法でデータを整理することができます。

この実験では、以下のことを学びます。

  1. MongoDB シェルを起動して、それが何かを理解する
  2. 最初のデータベースとコレクションを作成する
  3. MongoDB にデータを追加して表示する
  4. データをカウントして削除する

これらのスキルは、あなたの MongoDB の旅の基礎をなします。始めましょう!

以下の「続行」ボタンをクリックして、実験を開始します。

これは Guided Lab です。学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを完了し、実践的な経験を積むために、指示に注意深く従ってください。過去のデータによると、この 中級 レベルの実験の完了率は 66%です。学習者から 97% の好評価を得ています。

MongoDB シェルを起動する

MongoDB を起動する前に、まず LabEx VM 内でターミナルを開く必要があります。これを行う方法は 2 通りあります。

  1. デスクトップインターフェイス:デスクトップの左側を見て、「Xfce Terminal」とラベル付けされたアイコンをクリックします。
  2. ターミナルインターフェイス:LabEx VM ウィンドウの上部にある「Terminal Interface」とラベル付けされたタブをクリックします。
ターミナルを開く

どちらの方法も同じくらい機能します。同じ実験環境にアクセスする異なる方法にすぎません。好きな方を選んでください!

さて、MongoDB シェルを起動しましょう。これは、私たちのデータベースのコントロールパネルのようなものです。シェルを、MongoDB に直接話す方法と考えてください。コマンドを入力すると、MongoDB が応答します。

MongoDB シェルを起動するには、このコマンドを入力して Enter キーを押します。

mongosh

次のような表示がされるはずです。

Current Mongosh Log ID: 65a7f3e5f1a1234567890abc
Connecting to:          mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+x.y.z
Using MongoDB:          x.y.z
Using Mongosh:          x.y.z
MongoDB シェル接続メッセージ

これは、あなたが今 MongoDB に接続していることを意味します!接続メッセージは、MongoDB があなたのコンピュータ上で実行されていることを示しています(「127.0.0.1」の意味は、あなたのコンピュータ自身のアドレスです)。

まず最初の MongoDB コマンドを試して、存在するデータベースを確認しましょう。次のコマンドを入力します。

show dbs

コマンドは mongosh シェルに入力すること、ターミナルに入力しないことを確認してください。

次のようなデータベースのリストが表示されるはずです。

admin             40.00 KiB
config            12.00 KiB
local             40.00 KiB

これらは MongoDB が自動的に作成するデフォルトのデータベースです。今は心配しないでください。次のステップで自分自身のデータベースを作成します。

最初のデータベースを作成する

MongoDB では、データはデータベースに整理されます。データベースは、関連する情報のコレクションを保持するコンテナのようなものです。それを、異なる種類の文書を保管するファイリングキャビネットのように考えてください。

新しいデータベースを作成する(既に存在する場合はそれに切り替える)には、次のコマンドを入力します。

use mylab_database

次のような表示がされるはずです。

switched to db mylab_database

さて、いくつかのデータを追加しましょう。MongoDB では、データは「コレクション」(フォルダに似ています)と「ドキュメント」(ファイルに似ています)に保存されます。ドキュメントは、人の名前や年齢のように、フィールドと値を含むデータの 1 つのピースです。

最初のコレクションである「users」を作成し、そこにドキュメントを追加しましょう。

db.users.insertOne({ name: "John Doe", age: 30 })

このコマンドを分解してみましょう。

  • dbは、現在のデータベース(mylab_database)を指します。
  • usersは、自動的に作成されるコレクションの名前です。
  • insertOneは、1 つのドキュメントを追加するコマンドです。
  • 波括弧{ }は、nameageの 2 つのフィールドを持つドキュメントデータを含んでいます。

次のような表示がされるはずです。

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

MongoDB は、各ドキュメントに自動的に一意の ID(ObjectId)を作成するので、後で見つけることができます。

先ほど追加したものを確認するには、次のコマンドを入力します。

db.users.find()

次のような表示がされるはずです。

[
  {
    _id: ObjectId("65b2f3..."),
    name: 'John Doe',
    age: 30
  }
]

さらにデータを追加する

1 つのドキュメントを追加する方法を理解したので、もう 1 つのコレクションを作成して、一度に複数のドキュメントを追加しましょう。今回は、本に関する情報を保存します。

まず、1 冊の本を追加しましょう。

db.books.insertOne({
    title: "MongoDB Basics",
    author: "Jane Smith",
    year: 2023
})

最初の本を追加するとき、MongoDB は自動的に「books」コレクションを作成します。

さて、もっと強力なことを試してみましょう。insertManyを使って一度に複数のドキュメントを追加することです。大量のデータを追加する際に便利です。

db.books.insertMany([
    {
        title: "Python Programming",
        author: "John Doe",
        year: 2022
    },
    {
        title: "Data Science Handbook",
        author: "Alice Johnson",
        year: 2021
    }
])

角括弧[ ]に注目してください。これは、一度に複数のドキュメントを挿入していることを MongoDB に伝えています。

次のような表示がされるはずです。

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

すべての本を表示しましょう。

db.books.find()

データを表示してカウントする

データベースにいくつかのデータがあるので、それを表示してカウントするさまざまな方法を学びましょう。MongoDB は、あなたが求めている正確な情報を見つけるためのいくつかのメソッドを提供しています。

持っている本の数をカウントするには、次のコマンドを入力します。

db.books.countDocuments()

このコマンドは、books コレクション内のすべてのドキュメントをカウントします。次のような表示がされるはずです。

3

特定の本を見つけるには、「クエリ」を使ってfind()コマンドを使用できます。クエリは、MongoDB に何を探しているかを伝えるフィルターのようなものです。

特定の著者による本を見つけるには、次のコマンドを入力します。

db.books.find({ author: "John Doe" })

波括弧{ author: "John Doe" }の中身は、私たちのフィルターです。これは、MongoDB に著者が「John Doe」である本のみを表示するように指示します。

次のような表示がされるはずです。

[
  {
    _id: ObjectId("65b2f4..."),
    title: 'Python Programming',
    author: 'John Doe',
    year: 2022
  }
]

2023 年に出版された本を見つけるために、もう 1 つのクエリを試してみましょう。

db.books.find({ year: 2023 })

データを削除する

最後に、データベースからデータを削除する方法を学びましょう。1 つまたは複数のドキュメントを追加することができるのと同じように、同じ方法で削除することもできます。

特定の 1 冊の本を削除するには、deleteOneを使用します。

db.books.deleteOne({ title: "MongoDB Basics" })

波括弧内の部分は、MongoDB にどの本を削除するかを伝えます。次のような表示がされるはずです。

{ acknowledged: true, deletedCount: 1 }

条件に基づいて一度に複数のドキュメントを削除するには、deleteManyを使用します。2022 年以前に出版されたすべての本を削除しましょう。

db.books.deleteMany({ year: { $lt: 2022 } })

ここで、$ltは「未満」を意味します。つまり、出版年が 2022 年未満のすべての本を削除しています。

コレクションに残っているものを確認するには、次のコマンドを入力します。

db.books.find()

探索が終わったら、次のコマンドを入力して MongoDB シェルを終了できます。

exit

まとめ

おめでとうございます!あなたは最初の MongoDB の実験を完了し、データベースの世界に初めて足を踏み入れました。学んだことを振り返りましょう。

  1. MongoDB シェルを起動して使用する方法
  2. データベースとコレクションがデータをどのように整理するか
  3. 単一のドキュメントと複数のドキュメントを追加する方法
  4. クエリを使用して特定の情報を見つける方法
  5. 必要なくなったデータを削除する方法

これらは小さな一歩のように見えるかもしれませんが、これらは MongoDB を使うための基礎です。すべてのデータベースエキスパートは、あなたが今いる場所からまったく同じスタートを切ったのです!

データベースの学習は旅であり、あなたはたった最初の一歩を踏み出したばかりです。練習を続け、好奇心を持ち続け、実験することを恐れないでください。あなたの次の実験は、クリック 1 回です!