[MongoDB]Mac BigSurのNodejs+express+mongodbインストールとバインド


mongodbのインストール
  • mongoDBWebページにアクセスし、下の画像パスに入り、Macバージョンにダウンロードします.
  • 受け取ったら다운로드フォルダに入り、tarファイルをダブルクリックして解凍します.
  • 다운로드フォルダで、commandshift ⬆️gボタンを押すと、移動フォルダのウィンドウがポップアップします.ここで/usr/local/入力後이동クリック
  • そのフォルダに、mongodbという新しいフォルダを作成します.このmongodbというフォルダに、2番目に解凍したファイルを入れます.
  • 全部入れると、今Finder入るMacintosh HD入る사용자入る사용자.
  • 공유フォルダになると사용자가 설정해둔 이름의 폴더フォルダと사용자가 설정해 둔 이름의 폴더の2つがあります.そこでクリックdataここではdataというフォルダを作成し、dbというフォルダにiというフォルダを作成します.
  • 事前準備が整いました.この端末はpathを設定した.端末を開き、下位コマンドを入力します!
  • vi ~/.bash_profile
  • ウィンドウを開き、escを押して入力し、下の文を入力します.入力が完了したら、:wqキーを押し、애플로고 -> 시스템 환경설정 -> 보안 및 개인 정보 보호を入力し、保存後強制的に閉じます.
  • export MONGO_PATH=/usr/local/mongodb
    export PATH=$PATH:$MONGO_PATH/bin
  • 今はpathを設定する時だ!{username}に自分のフォルダ名を書けばいいです.
  • mongod --dbpath=/Users/{username}/data/db
  • 9以降はこのような窓口が現れる.この問題を解決する方法は、最上端ステータスバーで확인 없이 허용を押すと表示されます.ここをクリック
  • をこのように設定してから9を押すと열기という選択肢が出てきますが、そのボタンをクリックするだけで端末が華やかに移動し始めます.
  • 端末で入力mongo -versionインストール成功確認命令!コマンドを入力したときに表示される画像が下の画像と同じであれば、インストールされます!
  • バインドmongodb
  • 現在ノード.jsとexpress、mongodbが連動する番です.まず、vscodeを開き、react付きのプロジェクトフォルダパスで端末を開きます.そして入力yarn add mongooseモンゴルバッグを敷く.
  • server.tsファイルに赤いブロックを追加します.
  • server/server.ts
  • import express from 'express';
    
    const app = express();
    const test = require("./router/test");
    const db = require("./mongodb.js") // db 불러오기
    
    db(); // 실행
    app.use("/api", test);
    
    const port: number = 5000;
    app.listen(port, () => console.log(`${port}`));
  • server.tsなどの兄弟関係で、mongodb.jsというファイルを作成した後、下のソースを貼り付けます.
  • const mongoose = require('mongoose');
    
    module.exports = () => {
        function connect(){
            mongoose.connect('mongodb://localhost:27017', function(err){
                if (err) {
                    console.error('mongodb connection error', err);
                }
                console.log('mongodb connected');
            });
        }
        
        connect();
        getSchema();
        mongoose.connection.on('disconnected', connect);
        //require('./user.js'); // user.js는 나중에 만듭니다.
    
        function getSchema(){
            // Schema 생성. (혹시 스키마에 대한 개념이 없다면, 입력될 데이터의 타입이 정의된 DB 설계도 라고 생각하면 됩니다.)
            const student = mongoose.Schema({
                name : 'string',
                address : 'string',
                age : 'number'
            });
    
            // 정의된 스키마를 객체처럼 사용할 수 있도록 model() 함수로 컴파일
            const Student = mongoose.model('Schema', student);
            // Student 객체를 new 로 생성해서 값을 입력
            const newStudent = new Student({name:'Hong Gil Dong', address:'서울시 강남구 논현동', age:'22'});
            // 데이터 저장
            newStudent.save(function(error, data){
                if(error){
                    console.log(error);
                }else{
                    console.log('Saved!', data)
                }
            });
    
            // Student 레퍼런스 전체 데이터 가져오기
            Student.find(function(error, students){
                console.log('--- Read all ---');
                if(error){
                    console.log(error);
                }else{
                    console.log(students);
                }
            })
        };
    };
  • 保存完了後、プロジェクトフォルダに端末を開き、入力yarn start
  • mongodb connectedこれらの言葉とデータが出てくると接続に成功!