sql >> データベース >  >> NoSQL >> MongoDB

MongoDBの基本チュートリアル

    MongoDBはNoSQLデータベースです。 NoSQLの下 傘は、データのクエリにSQL言語を使用しないすべてのデータベースを配置します。

    MongoDBの主な特徴

    MongoDBは、JavaScriptに非常に適したデータベースです。これは、データベースとオブジェクトのコレクション(ドキュメントと呼ばれる)を作成するために使用できるJavaScriptAPIを公開します。 。

    スキーマレス 、つまり、データを保存する前にデータの構造を事前に定義する必要はありません。

    MongoDBでは、このオブジェクトを構成する特定のフィールドとその保存方法を気にすることなく、任意のオブジェクトを保存できます。そのオブジェクトを保存するようにMongoDBに指示します。

    データはJSONと同様の形式で保存されますが、基本的なデータ型以上のものを保存できるように拡張されています。

    インストール

    さあ、MongoDBをインストールしましょう。 MongoDBインスタンスへのアクセスを提供する多くのクラウドプロバイダーの1つを使用できますが、学習のために、自分でインストールします。

    私はMacを使用しているので、このチュートリアルのインストール手順はそのオペレーティングシステムを参照しています。

    ターミナルを開いて実行します:

    brew tap mongodb/brew
    brew install mongodb-community

    それだけです。

    ターミナルの使用方法とHomebrewのインストール方法を知っていることを前提として、手順はそれほど長くも複雑でもありませんでした。

    インストールはこれを教えてくれます:

    To have launchd start mongodb now and restart at login:
      brew services start mongodb-community
    Or, if you don't want/need a background service you can just run:
      mongod --config /usr/local/etc/mongod.conf

    MongoDBを一度起動して、コンピューターのバックグラウンドサービスとして永久に実行するか(私が好むもの)、後者のコマンドを実行して、必要なときに実行するかを選択できます。

    MongoDBのデフォルト構成は次のとおりです:

    systemLog:
      destination: file
      path: /usr/local/var/log/mongodb/mongo.log
      logAppend: true
    storage:
      dbPath: /usr/local/var/mongodb
    net:
      bindIp: 127.0.0.1

    ログは/usr/local/var/log/mongodb/mongo.logに保存されます データベースは/usr/local/var/mongodbに保存されます 。

    デフォルトではアクセス制御はなく、誰でもデータベースの読み取りと書き込みを行うことができます。

    モンゴシェル

    MongoDBを試して操作を開始する最良の方法は、mongoを実行することです。 MongoDBシェルを起動するプログラム。

    これで、Mongoが理解できる任意のコマンドを入力できます。

    データベースを作成する

    起動すると、Mongoはtestというデータベースを作成します 。 dbを実行します シェルでアクティブなデータベースの名前を教えてください

    データベースを変更するには、use newnameと書くだけです。 およびnewname データベースは即座に作成され、シェルはそれを使用するように切り替わります。

    show databasesを使用する 利用可能なデータベースを一覧表示するには:

    ご覧のとおり、something データベースがまだコレクションにないという理由だけで、データベースはリストされていません。作成しましょう。

    コレクション

    MongoDBでは、コレクション SQLデータベーステーブルに相当します。

    db.createCollection()を使用して、現在のデータベースにコレクションを作成します 指図。最初の引数はデータベース名であり、オプションオブジェクトを2番目のパラメータとして渡すことができます。

    そうしたら、show databases 新しいデータベースが一覧表示され、show collections コレクションが一覧表示されます。

    dbのプロパティとして使用して、新しいコレクションを作成することもできます。 オブジェクト、およびinsert()の呼び出し コレクションにオブジェクトを追加するには:

    db.dogs.insert({ name: 'Roger' })

    コレクション内のオブジェクトの一覧表示

    コレクションに追加されたオブジェクトを表示するには、find()を使用します 方法:

    ご覧のとおり、追加の_idがあります 追加したレコードのプロパティ。これは、MongoDBによって自動的に生成されます。

    次に、犬を追加します:

    db.dogs.insert({ name: 'Buck' })
    db.dogs.insert({ name: 'Togo' })
    db.dogs.insert({ name: 'Balto' })

    db.dogs.find()を呼び出す すべてのエントリが表示されますが、たとえばdb.dogs.find({name: 'Roger'})を使用して、特定のエントリをフィルタリングおよび取得するためのパラメータを渡すことができます。 :

    find() メソッドは、反復する必要のあるカーソルを返します。

    findOne()という1つのレコードしか取得できないことがわかっている場合に、便利な別のメソッドがあります。 、同じように使用されます。複数のレコードがクエリに一致する場合、最初のレコードが返されます。

    レコードの更新

    レコードを更新するには、update()を使用できます コレクションのメソッド:

    レコードの削除

    remove()を呼び出してレコードを削除できます コレクションのメソッド。オブジェクトの識別に役立つオブジェクトを渡します。

    コレクションからすべてのエントリを削除するには、空のオブジェクトを渡します:

    db.dogs.remove({})

    1. ClassNotFoundExceptionを解決する方法:com.mongodb.connection.BufferProvider?

    2. MongoDBドキュメントとコレクションを視覚的に管理する

    3. MongoDB4.4の新機能

    4. パス「x」を更新すると、「x」で競合が発生します