10分でMongoDBを始める方法

Navindu Jayatilakeによって

MongoDBは豊富なドキュメント指向のNoSQLデータベースです。あなたがNoSQLの完全な初心者であれば、以前に公開された私のNoSQLの記事を簡単に見ることをお勧めします。

あなたがNoSQLの完全な初心者であれば、私は

今日は、クエリ、データのフィルタリング、削除、更新など、MongoDBコマンドに関する基本的なものをいくつか共有したいと思いました。

さて、話の十分な、のは、仕事に取得してみましょう!

設定?MongoDBを使用するには、まずMongoDBをコンピュータにインストールする必要があります。 これを行うには、公式のダウンロードセンターにアクセスし、特定のOSのバージョンをダウンロードします。 ここでは、Windowsを使用しました。

MongoDB community server setupをダウンロードした後、”next after next”インストールプロセスを実行します。 完了したら、MongoDBをインストールしたCドライブに移動します。 プログラムファイルに移動し、MongoDBディレクトリを選択します。

C: -> Program Files -> MongoDB -> Server -> 4.0(version) -> bin

binディレクトリには、興味深い実行可能ファイルがいくつかあります。

  • mongod
  • mongo

これらの2つのファイルについて話しましょう。

mongodは”Mongo Daemon”の略です。 mongodはMongoDBによって使用されるバックグラウンドプロセスです。 Mongodの主な目的は、すべてのMongoDBサーバータスクを管理することです。 たとえば、要求の受け入れ、クライアントへの応答、メモリ管理などです。mongoは、クライアント(システム管理者や開発者など)と対話できるコマンドラインシェルです。ここで、このサーバーをどのように起動して実行できるかを見てみましょう。 Windowsでこれを行うには、まずCドライブにいくつかのディレクトリを作成する必要があります。 Cドライブ内でコマンドプロンプトを開き、次の操作を行います。

C:\> mkdir data/dbC:\> cd dataC:\> mkdir db

これらのディレクトリの目的は、MongoDBにすべてのデータを格納するフォル MongoDBのデフォルトのデータディレクトリパスは、ドライブ上の/data/dbです。 したがって、これらのディレクトリを次のように提供する必要があります。

これらのディレクトリなしでMongoDBサーバーを起動すると、おそらく次のエラーが表示されます:p>

\data\dbディレクトリなしでmongodbサーバーを起動しようとしています

これら二つのファイルを作成した後、mongodbディレ 次のコマンドを実行します。

mongod

Voilà! これで、MongoDBサーバーが稼働しています! ?

このサーバーで作業するには、仲介者が必要です。 そのため、bindフォルダ内の別のコマンドウィンドウを開き、次のコマンドを実行します:

mongo

このコマンドを実行した後、mongodコマンドを実行したシェル(サーバー)に移動します。 最後に「接続が承認されました」というメッセージが表示されます。 それは私達の取付けおよび構成が巧妙であることを意味する!

単純にmongoシェルで実行します。

db
最初は’test’というdbがあります環境変数の設定

時間を節約するために、環境変数を設定することができます。 Windowsでは、これは以下のメニューに従うことによって行われます:

Advanced System Settings -> Environment Variables -> Path(Under System Variables) -> Edit

binフォルダのパスをコピーしてOKを押してください! 私の場合、それはC:\Program Files\MongoDB\Server\4.0\bin

今、あなたはすべて設定されています!MongoDB Compass、Studio3TなどのMongoDBサーバーで動作するGui(グラフィカルユーザーインターフェイス)がたくさんあります。

グラフィカルインターフェイスを提供するため、シェルを使用してクエリを手動で入力するのではなく、データベースを簡単に操作してクエリを実

しかし、この記事では、私たちの仕事をするためにコマンドプロンプトを使用します。

今度は、将来のプロジェクトで使用するのに役立つMongoDBコマンドに飛び込む時間です。

  1. コマンドプロンプトを開き、mongodと入力してMongoDBサーバーを起動します。

2. 別のシェルを開き、mongoと入力してMongoDBデータベースサーバーに接続します。

1. 現在のデータベースを見つける

db

このコマンドは、現在のデータベースを表示します。 testは、デフォルトで提供される初期データベースです。

2. データベースのリスト

show databases

私は現在、四つのデータベースを持っています。 それらは次のとおりです。CrudDBadminconfiglocal

3. 特定のデータベースに移動します

use <your_db_name>

ここでは、localdbを試して現在のデータベース名を出力すると、これを確認できます。

4. データベースを作成する

RDBMS(リレーショナルデータベース管理システム)では、データベース、テーブル、行、列があります。しかし、MongoDBなどのNoSQLデータベースでは、データはBSON形式(JSONのバイナリバージョン)で格納されます。 それらは”コレクション”と呼ばれる構造に格納されます。

SQLデータベースでは、これらはテーブルに似ています。P>

ビクトリア-マラヤによるSQL用語とNoSQL用語
さて、mongoシェルでデータベースを作成する方法について話しましょう。P>

use <your_db_name>

待って、私たちは前にこのコマンドを持っていました! なぜ私は再びそれを使用していますか?!MongoDBサーバーでは、データベースが既に存在する場合、そのコマンドを使用するとデータベースに移動します。ただし、データベースがまだ存在しない場合は、MongoDBサーバーがデータベースを作成します。 その後、それはそれに移動します。

新しいデータベースを作成した後、show databaseコマンドを実行すると、新しく作成されたデータベースは表示されません。 これは、その中にデータ(ドキュメント)が含まれるまで、dbリストに表示されないためです。

5. コレクションの作成

新しく作成したデータベースにuseコマンドを使用して移動します。実際には、コレクションを作成するには2つの方法があります。 両方を見てみましょう。一つの方法は、コレクションにデータを挿入することです:

db.myCollection.insert({"name": "john", "age" : 22, "location": "colombo"})

これはあなたのコレクションを作成しようとしていますmyCollectionnameageのドキュメントを挿入します。 これらはキャップされていないコレクションです。

2番目の方法を以下に示します。

2。1キャップされていないコレクションの作成

db.createCollection("myCollection")

2.2キャップされたコレクションの作成

db.createCollection("mySecondCollection", {capped : true, size : 2, max : 2})

このようにして、データを挿入せず

“capped collection”には、ドキュメントのオーバーフローを防ぐための最大ドキュメント数があります。この例では、値をtrueに設定して、キャッピングを有効にしました。

size : 2max: 2は文書の最大数を二つに設定します。

二つ以上のドキュメントをmySecondCollection findコマンド(これについてはすぐに説明します)を使用すると、最近挿入されたドキ これは、非常に最初の文書が削除されたことを意味するものではありません覚えておいてください—それだけで表示されていません。

6. データの挿入

新しいコレクション、または以前に作成されたコレクションにデータを挿入することができます。P>

データをJSONに格納する方法

データを挿入する方法は三つあります。p>

  1. insertOne()は、単一のドキュメントのみを挿入するために使用されます。
  2. insertMany()複数のドキュメントを挿入するために使用されます。li>
  3. insert()は、必要なだけドキュメントを挿入するために使用されます。

以下にいくつかの例を示します:p>

  • insertOne()
db.myCollection.insertOne( { "name": "navindu", "age": 22 })
  • insertMany()
db.myCollection.insertMany()

insert()insert()

db.myCollection.insertOne( { "name": "navindu", "age": 22 })
  • insertMany()
db.myCollection.insertMany()

insert()insert()insertMany()John Doelocationfindjohn doelocationプロパティが添付されています。これは、MongoDBなどのNoSQLデータベースになると利点になります。 それは拡張性を可能にする。

正常に挿入されたデータ

7。 データを照会する

コレクションからすべてのデータを照会する方法は次のとおりです。

db.myCollection.find()
結果

このデータはクリーナーで、最後に.pretty()を追加するだけです。 これにより、文書がきれいに印刷されたJSON形式で表示されます。p>

db.myCollection.find().pretty()
結果

Wait…In これらの例では、_idのようなものに気付きましたか? それはどうやってそこに着いたのですか?さて、ドキュメントを挿入するたびに、MongoDBは自動的に各ドキュメントを一意に識別する_id フィールドを追加します。 表示したくない場合は、次のコマンドを実行するだけです

db.myCollection.find({}, _id: 0).pretty()

次に、データのフィルタリングを見ていきます。

特定のドキュメントを表示する場合は、表示するドキュメントの単一の詳細を指定することができます。p>

db.myCollection.find( { name: "john" })
結果

年齢が25未満の人だけを表示したいとしましょう。 これをフィルタリングするには、$lt$gt$lte$gte$gt$gte$gte$gtは”以上”である。$neは”等しくありません”。

8. 文書を更新する

誰かの住所や年齢を更新したいとしましょう。 さて、次の例を参照してください:

db.myCollection.update({age : 20}, {$set: {age: 23}})

最初の引数は、更新するドキュメントのフィールドです。 ここでは、簡単にするためにage_id_idagenameを持つことができるためです。 したがって、単一の行を更新すると、同じ名前と年齢を持つすべての行に影響します。

result

新しいプロパティでこのようにドキュメントを更新する場合、locationfindage

result

p>

db.myCollection.update({name: "navindu"}, {$unset: age});

9. ドキュメントを削除する

先に述べたように、ドキュメントを更新または削除するときは、_idnameagelocation

db.myCollection.remove({name: "navindu"});

10. コレクションを削除する

db.myCollection.remove({});

注、これはdrop()drop()remove()メソッドは、コレクション自体

論理演算子

MongoDBは論理演算子を提供します。 以下の図は、さまざまなタイプの論理演算子をまとめたものです。p>

リファレンス:MongoDBマニュアル

リファレンス:MongoDBマニュアル

年齢が25未満で、場所がコロンボである人を表示したいとしましょう。 私たちは何ができますか?p>

$and演算子を使用できます!p>

db.myCollection.find({$and:});

最後に、集約について話しましょう。

集計

SQLデータベースの集計関数について学んだことを簡単に思い出させる:

SQLデータベース内の集計関数。 ref:Tutorial Gateway

簡単に言えば、集約は複数のドキュメントから値をグループ化し、何らかの方法でそれらを要約します。recordBook$group集計関数を使用できます。P>

db.recordBook.aggregate();
結果

ラップアップ

だから、我々はあなたが必要とするかもしれないMongoDBの基礎将来的には、アプリケーションを構築します。 私はあなたがこの記事を楽しんだことを願っています–読んでくれてありがとう!



コメントを残す

メールアドレスが公開されることはありません。