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({})