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

※この記事は10/8に作成されました。

こんにちは、ケネです。

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から変更しておきましょう。

Node.jsからMongoDBにつなぐためのmongodbライブラリの使い方を解説しました。

特に難しい設定なしで簡単に接続できますので、試してみてください。

まとめ

Node.jsからMongoDBにつなぐためのmongodbライブラリの使い方を解説しました。

特に難しい設定なしで簡単に接続できますので、試してみてください。

コメント

タイトルとURLをコピーしました