Node.Js + MondoDB 環境構築〜データベース接続

公開日
2022-10-16
投稿者
Ryousuke Kamei
#tag

BackEndから作成します。

今回は環境構築からデータベース接続まで

node.js

node --version

npm

npm --version


*node.jsのインストールは公式サイトから

npm(node package manager)も一緒に作成されるので

両方のバージョンを上記コマンドで確認しておく。


*その後npm init で初期化(package.json)を作成

いろいろ効かれるので適当に対応


nodemon

npm install nodemon

package.jsonに

"scripts": {
    "dev": "nodemon server.ts"
  },

とすることで、自動で更新されるようになるからとても便利


express + TypeScript


TypeScript

npm install -D typescript npm install -D @types/node npm install -D ts-node


express

npm install express npm install -D @types/express


こちらでインターネット上で利用するサービスを動かしていきます。

雛形

import express from 'express'
const app: express.Express = express()
const PORT = 3000;

app.get("/", ( req:express.Request,res:express.Response) => {
    res.send("hello express");
})

app.listen(PORT, () => console.log("サーバーが起動しました"))

サーバーの接続ができたので、続いてデータベースの接続を行います。


データベースにはmongoDBを使用

使用する理由としては、自分にとってはSQL分を覚えるより,

mongoDBの方がとても分かりやすくスムーズに進めていけると感じ、

正直なところ、どちらも少ししか使ったことがないため未経験の私にとっては比較のしようがないので

今はなるべく開発の学習コストを下げるためにもmongoDBの方が理解が速そうに感じたため、こっちを採用。

そもそも指向が違うようで、両者メリットデメリットはあると思うので、

Mysqlも別働で徐々に覚えていく。


mongoose

npm i mongoose

まずnode.jsとmongoDBを接続してくれるmongooseをインストール


mongoDB

mongoDB公式サイトで登録(無料)し新規でデータベース作成

データベースに入りconnectからURLを取得


.env

ルートディレクトリに.envファイルを作成し先ほどのURLを環境変数で持っておく

mongodb+srv://kamei:<password>@cluster0.usdrzzk.mongodb.net/?retryWrites=true&w=majority

<password>の部分は書き換え必ず<>を外しておく。

環境変数を使用するために

npm install dotenv

をしておく


.gitignore

ルートディレクトリに.gitignoreファイルを作成し,

.envと記載しておく。

そうする事で、重要な情報を公開せず守ることができる


今回はここまで