MongoDBに関する世界観です。データベースの世界観も参照のこと。
ドキュメント指向データベース。
SQLなどのリレーショナルデータベースマネジメントシステム(RDBMS)とは異なるアプローチを取る。
MongoDBではJSONライクな形式の「ドキュメント」とその集合である「コレクション」を管理することで、RDBMSではない形で新しいデータベース管理システムを利用することができる。
データベースを作成する前にテーブルのカラムなどのデータ構造をあらかじめ設計しておく必要があるSQLのRDBMSに比べて、MongoDBではデータ構造を必要に応じてあとから変えることができる。またスケーラビリティを重視しており、容易にスケールすることができる。
要するに、JSONライクな形式のデータをそのまま格納できるデータベース管理システムだと思えばいい。
JSONは、最近Ajaxなどでよく使われている、PythonやJavaScriptと親和性の高い、シンプルな構造をもった単純なデータ形式。
RDBMSのように、がちがちに表形式でデータベースを設計するよりも、あとあとのデータ構造の変更がやりやすく、小さなデータベースを大きなデータベースにスケールしやすい。
JSONも参照のこと。
mongooseは、MongoDBを扱うためのnpmモジュール。実際にMongoDBをJavaScript(Node.js/Express)から操作するために使う。
mongooseのインストールは以下のようにnpmから行える。
npm install mongoose
ただし、これだけではMongoDBはインストールされない。MongoDBを別途インストールすること。
Node.jsも参照のこと。
MongoDBは、独自のWebサービスの公開を強制するライセンス(SSPL)を定めた結果、オープンソース業界で「これは本当にオープンソースのライセンスなのか」と議論された結果、多くのディストリビューションで配布を取りやめされている。オープンソースが好きな所以ではあるが、過激すぎるのも考えどころである。