Node.jsとMongoDBを連携
今回はnode.jsとMongoDBの連携方法について簡単に解説していきます。
MongoDBの特徴
まず初めにMongoDBの特徴について解説します。
MongoDBの特徴として,以下のようなものが挙げられます。
(1)スキーマレスであるドキュメント指向データベースであること
・データはスキーマレスなドキュメントで格納され,任意のフィールドを好きなときに追加できる
・KVSでは苦手なValueを検索の条件としたり,ソート・集計を実現できる
(2)スケーラビリティに関する機能を標準機能として備えていること
・レプリケーション機能,オートフェールオーバー機能を備えている
・レンジパーティション機能,オートバランシング機能を備えている
(3)RDBと比較してRead/Writeの性能が高い
・トランザクション・リレーションを制限した結果,KVSに近いパフォーマンスを出せる
(4)開発のしやすさ
・どのような環境でもパフォーマンスが出るように,ネイティブソケットプロトコルを使用したドライバを主要なプログラミング言語で開発元が提供している
・RESTインターフェイスを標準で備えており,Webで広く普及しているJSONを使用してデータ送受信ができる
以上のような特徴があります。
MongoDBのインストール
それでは実際にMongoDBをインストールしていきましょう。
今回はHomebrewを使ってインストールしていきます。
Homebrewがインストールされていない場合はインストールしておきましょう。
以下のコマンドでインストールしていきます。
brew tap mongodb/brew
続いて、以下のコマンドでソフトウェアのパッケージをインストールします。
brew install mongodb-community
これでインストールは完了です。
実際に起動できるか確認してみましょう。
起動
brew services start mongodb-community
停止
brew services stop mongodb-community
これで問題なければOKです。
詳しくはこちらの公式を確認しましょう。
Node.jsとの接続
それでは実際にNode.jsからMongoDBに接続してみましょう。
まず、Sample/index.jsを作成してください。
次に、以下のコマンドでpackage.jsonを作成します。
npm init
次に、以下のコマンドでMongoDBのパッケージをインストールします。
npm install mongodb --save
これで準備はOKです。
それでは、コードを書いていきます。
var MongoClinet = require('mongodb').MongoClient;//MongoClient取得
var url = 'mongodb://localhost:27017/'; //今回はlocalhostなのでこの表記
MongoClinet.connect(url, (error, client) => {
var db = client.db('sample');//どのDBを使用するか
client.close();//操作を行った後に切断
});
以上が最低限必要なコードになります。
これでMongoDBの中のsampleというDBを操作する準備ができました。
しかしこのままでは接続できているのかよくわかりません。
なので実際に何か指示を書いてみましょう。
var MongoClinet = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/';
MongoClinet.connect(url, (error, client) => {
var db = client.db('sample');
db.createCollection('test', (error, collection) => {
client.close();
});
});
上記のコードはsampleというDBに対してtestというcollectionを作成するという指示です。
それでは実行してみましょう。
node index.js
※実行前にローカル上でMongoDBが起動していることを確認しましょう
(起動していないと"TypeError: Cannot read property 'db' of undefined"というエラーが出ます)
次に実行結果の確認をします。
ターミナル上でMongoDBに接続し、確認します。
[手順]
1.mongo
でMongoに接続
2.show dbs
でDBのリストを確認
3.use sample
でsampleというDBにアクセス
4.show collection
で中身を確認
"test"というcollectionが作成されていれば成功です。
これでNode.jsをMongoDBの接続し、collectionの作成に成功しました。
Author And Source
この問題について(Node.jsとMongoDBを連携), 我々は、より多くの情報をここで見つけました https://qiita.com/nakashun1129/items/e83d544cec84e760e743著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .