Node.Js + MondoDB 環境構築〜データベース接続
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と記載しておく。
そうする事で、重要な情報を公開せず守ることができる
今回はここまで