Node.js + Express + MongoDB + Mongoose

Node.js + Express + MongoDB + Mongoose でインタラクティブなサービス環境を構築してみます。

Contents

Node.js + Express + MongoDB + Mongoose

Node.js

Node.js はサーバサイド javascript です。

Node.js については下記をご参照ください。

Node.js でサーバサイド Javascript

Express

Node.js 用のフレームワークです。

Express については下記をご参照ください。

Node.js + Express + Socket.ioで環境構築

MongoDB

MongoDB は NoSQLデータベースです。

特徴としてはスキーマレスに使えることがあげられるます。そのかわり一貫性を持たせるようにしないと後々大変になります。

今回は Ubuntu 16.04 で導入してみます。

インストール

パッケージ管理システムで使用される公開鍵をインポート

MongoDB用のリストファイルを作成

ローカルパッケージデータベースをリロード

MongoDBパッケージをインストール

起動

MongoDB を起動させます。

確認

正常に起動したログを見て確認できます。

停止

MongoDB を停止させます。

再起動

MongoDB を再起動します。

使用

データベース

test データベースを定義してコネクトします。

Insert

データ登録します。

find

データ取得します。

コレクション確認

コレクション(テーブルのようなもの)一覧表示

Mongoose

Mongoose とは MongoDB オブジェクトモデリングツールで、ORM のような感じで操作することが可能となります。

Express から Mongoose で MongoDB を操作してみます。

インストール

プロジェクト直下に移動して npm でインストールします。

設定

Express 側で接続の設定を行います。

接続

スキーマ定義

モデル作成

保存

取得

まとめ

MongoDB のデータ構造は JSON に似た BSON 形式で保存されますが、JSON の仕様とは違いますので注意が必要です。Mongoose を利用することでスキーマを設定することになりますが、特殊なケースでなければスキーマ設定しておいたほうがアプリケーション設計の面からもよさそうです。

参考

公式:MongoDB for GIANT Ideas

公式:Mongoose ODM

Github:Automattic/mongoose: MongoDB object modeling designed to work in an asynchronous environment.

返信を残す

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

CAPTCHA