let’s play MongoDB

今回は、mongoDBをいじって遊んでみます。

参考にしたページは公式サイトです。

もちろん、日本語のブログ記事も読みましたが、確実なソースにあたっておこうと思いました。

MongoDBのインストールと起動

管理者権限を求められるので、sudoでディレクトリを作成します。

この状態でmongoDBを実行すると、permission errorが出ますので、権限を変えます。

しかし、実行したところ、

read-only directoryによって、起動失敗です。

いったん、思考停止の777権限にしてしまいます。

起動しました。



MongoDBの操作

まず、新たにターミナルウィンドウを開き、ホストを指定してアクセスします。

localhost:27017でも可。27017は、mongodを実行した時にコンソールに出力されたポート番号です。
mongo だけでもアクセスできます。

 

データベース一覧を表示させます。

MySQL vs mongoDB

MySQL MongoDB
SHOW DATABASES; show dbs
USE testdb; use testdb
CREATE DATABASE testdb; useコマンドで自動生成
DROP DATABASE testdb; use testdb
db.dropDatabase()
SHOW TABLES; show collections;

CRUD

簡単に例をだしながらMongoDBの操作をしてみます。

CREATE (insert)

aaaというコレクションを作成しつつ、データを入れてみました。

シングルクオーテーションはダブルクオーテーションに読み替えられていますね。
さりげなく、数字も入ります。

MySQLだったら、雑に書いても

とこれだけの文字数が必要です。

READ (find)

hogeというコレクションのインデックスを取得するケースのコマンドと結果はこちら。

UPDATE (update)

DELETE (dropDatabase)

所感

DBの操作感は、 MySQLとはだいぶ異なります。
常に関数とjsonを扱っている感覚です。すごくシンプル。

MySQLだと、カラムや型、文法を意識して丁寧に書く必要がありますが、MongoDBの場合、javascriptの関数を書いている感覚です。

型や文字数、もちろん、関係性など意識しません。
データベース、コレクションだけ指定し、その中にバンバンデータを突っ込むという感覚です。

まだ、システム(プログラム)からのI/Oハンドリングは試していないものの、MongoDBはアプリケーションを開発している時にかなりストレス軽減になりそう。プロトタイプ開発にすごく良いのでは?

動作や要件が確定してから、MongoDBをMySQLにトランスレートするような使い方もできるかもしれないと考えています。



関連記事

  1. let’s play firebase
  2. memo about git, ionic
  3. [Vol.1] ionic開発環境のセットアップ | Setti…
  4. let’s play angular

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


PAGE TOP