Node.jsでMongoDBに接続するならmongodbライブラリ(Driver)が便利

データベース

※当サイトはアフィリエイト広告を利用しています

Node.jsで作ったシステムにMongoDBを繋げるためのMongoDB Node.JS Driverの紹介です。

  • Node.jsをMongoDBにつないでみたい
  • Node.jsからMongoDBを実行するクエリのサンプルも欲しい
  • セキュリティの設定も知りたい
といったことができるように簡潔にポイントをまとめました。

Node.jsでMongoDBに接続する方

npmからmongodb(MongoDB Node.JS Driver)をインストール

前提として、Node.js、MongoDBはPCにインストールしておいてください。

Node.jsからmongodbというライブラリ(MongoDB Node.JS Driver)を利用してPCにインストールしたMongoDBデータベースにアクセスします。

まずは以下のコマンドでmongodb(Driver)をインストールします。

npm install mongodb

mongodb(MongoDB Node.JS Driver)の基本的な使い方(サンプルコード)

mongodb(Driver)の基本的な使い方を説明します。

まずはnpmでインストールしたmongodbとMongoClientをコードに定義します。

[test.js]
const mongodb = require('mongodb')
const MongoClient = mongodb.MongoClient

続いてMongoClient.connectを利用して接続先を書きます。

localhost:27017の部分には接続先IPアドレス(自PCの場合localhost)とポート番号を設定します。

dbNameの部分には接続したいMongoDBのデータベース名を入力します。

[test.js]
…
//ユーザ、パスワードなしの場合
MongoClient.connect('mongodb://localhost:27017/dbName'', (err, db) => {
  if (err) throw err;
  …(A)

ユーザ、パスワードの認証を入れている場合は以下のように記載します。

[test.js]
…
//ユーザ、パスワードありの場合
MongoClient.connect('mongodb://userName:password@localhost:27017/dbName'', (err, db) => {
  if (err) throw err;
  … (A)

上記のサンプルコードの(A)の部分にクエリを記載します。

dbNameにはデータベース名、collectionNameにはコレクション名を記載してください。

[test.js]
…
const dbName = db.db("dbName");
dbName.collection("collectionName").find().toArray(function(err, res) {
  if (err) throw err;
  //resにDB検索結果が設定されますので、resをNode.jsで操作することができます。
  console.log(res);
  db.close();
}

まとめると以下のコマンドでfindによる検索を利用できます。

[test.js]
const mongodb = require('mongodb')
const MongoClient = mongodb.MongoClient
MongoClient.connect('mongodb://userName:password@localhost:27017/dbName', (err, db) => {
  if (err) throw err;
  const dbName = db.db("dbName");
  dbName.collection("collectionName").find().toArray(function(err, res) {
    if (err) throw err;
    console.log(res);
    db.close();
  })
})

findの検索に検索条件を設定する

find()に検索条件を記載することもできます。

MongoClient.connect('mongodb://userName:password@localhost:27017/dbName', (err, db) => {
  if (err) throw err;
  const dbName = db.db("dbName");
  // 変数signalが"1"の条件で検索
  dbName.collection("collectionName").find({"signal": "1"}).toArray(function(err, res) {
    if (err) throw err;
    console.log(res);
    db.close();
  })
})

セキュリティ

先ほどの例ではユーザ認証あり、なしのパターンでサンプルを記載しましたが、MongoDBを利用する際はユーザ、パスワード認証の設定、ポート番号をデフォルトポート27017から変更しておきましょう。
MongoDBに設定したい最低限のセキュリティ設定でも解説しています。

Node.jsからMongoDBにつなぐ方法まとめ

Node.jsからMongoDBにつなぐためのmongodbライブラリの使い方を解説しました。
特に難しい設定なしで簡単に接続できますので、試してみてください。

MongoDBの使い方まとめに戻る。

自作アプリケーションを作るならさくらのVPS が手軽で使いやすいです。MongoDBは軽いので最低料金プランのVPSでも運用できます。【初めてでも簡単!】VPSの比較ランキングでも紹介しています。

Node.jsのチュートリアルは動画学習が早く習得できます。私が利用しているのはUdemy です。
Node.jsの勉強法も参照ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


ABOUT US

ケネ
はじめまして、ケネです。

Node.jsの技術情報を書いています。

一人でも多くの方と「自分でもできた」感覚を共有したいので、なるべくわかりやすく、実体験ベースでのブログを心がけています。
技術で自分の世界を広げましょう。

不明点や質問があればお気軽にコメントください。