【Node】Nodejs Mongodb Expressバックグラウンドmvcアーキテクチャ基礎(入門学習)


前言
この文書は私のような初心者に対して、簡単な基礎デモを自分で書きました.もとは私は1名の本分の正直なAndroid Developerで、友達に持っていかれて気ままなNodeピットになられて、穴に入って二度と上がってきません.入門は簡単で強く勧められます.jsの友達がピットに入ることができます.今はちょっと改善しています.これからも簡潔で美しい書き方で最適化していきます.(優美?存在しない)
Githubプロジェクトのアドレス
プロジェクト紹介
プロジェクトはExpressフレームとMongodbデータベースを使用します.
プロジェクトの使用
1.loneプロジェクト
git clonehttps://github.com/LiangLuDev/base-node-server
2.モジュール依存取り付け
npm install
3.mongodbデータベースのインストール、起動
このような教程はネット上にたくさん設置されています.自分で調べます.
4.起動
npm start
5.テスト
ロカホスト:3390アクセスが成功しました.
プロジェクトの詳細
  • プロジェクト入口ap.js
  • expressコンポーネント初期化
  • データベース接続
  • 登録ルーティング
  • nodeサービス起動
  • データベース配置接続データベース操作(接続、削除の変更など)は、mogoogleモジュールを使用しています.mongoogleは使いやすいです.ここでは最も基本的な接続操作
  • だけを展示しています.
    const mongoose = require('mongoose');
    const dbUrl = 'mongodb://localhost:27017/base-node-server'
    
    exports.connect = () => {
        mongoose.connect(dbUrl, (err) => {
            if(err){
                console.log('       ');
            }else{
                console.log('       ');
            }
        })
    }
    
    これらの機能だけではなく、関連アプリを詳しく調べてください.中国語版はマシン翻訳のようです.あまり完璧ではないので、事情を考慮して使って、できるだけ公式アプリを読むようにしてください.
  • モングースアプリ英語版(公式)
  • モングースアプリ中国語版(非公式)
  • モングースアプリ中国語版(非公式)
  • appiはメインルートであり、すべてのapiデータ機能はここに集約され、メインルートとして機能ブロック
  • に配信される.
    /**
     *    
     */
    const user = require('./user')
    const order = require('./order')
    const address = require('./address')
    const headers = require('./headers')
    
    module.exports = app => {
        //            
        app.use(headers.apptype)
        //            token
        app.use(headers.token)
        //       
        app.use('/api/user', user)
        app.use('/api/order',order)
        app.use('/api/address',address)
    }
    
  • サブルーティング機能サブルーティング、例えば、ログイン、登録動作は、ここで宣言された統合
  • である.
    /**
     *      
     */
    const express = require('express');
    const User = require('../../controller/user/user');
    const router = express.Router();
    
    router.post('/register',User.register)
    router.post('/login',User.login)
    
    module.exports = router
    
  • controller論理データ処理論理処理、データベース操作はここで処理します.例:ユーザー登録が完了したらデータベースに保存し、フロントに戻って登録成功などの操作
  • を行う.
    //    
        async register(req, res, next) {
            let username = req.body.username;
            let userpassword = req.body.userpassword;
            try {
                const userinfo = {
                    user_name: username,
                    user_password: userpassword,
                    create_time: dtime().format('YYYY-MM-DD HH:mm')
                }
                await UserModel.create(userinfo)
                res.json({
                    code: Constant.RESULT.SUCCESS.code,
                    msg: Constant.RESULT.SUCCESS.msg,
                    data: '    ',
                })
            } catch (err) {
                res.json({
                    code: Constant.RESULT.FAILD.code,
                    msg: Constant.RESULT.FAILD.msg,
                    data: '    ',
                })
            }
        }
    
  • データmodelここがmogoogleの強みであり、modelをmodelと結びつけて、直接データベースを削除して調べることができます.データベースフィールド、索引などはここで声明します.
  • /**
     * @type    model
     */
    const mongoose = require('mongoose');
    const Schema = mongoose.Schema;
    
    const userSchema = new Schema({
        user_id: Number,
        user_name: String,
        user_password: String,
        user_age: String,
        user_level: String,
        create_time:String
    })
    
    //            
    userSchema.index({user_id: 1})
    
    const userinfo = mongoose.model('userinfo', userSchema);
    
    module.exports = userinfo
    
    
    意見のフィードバック
    もし問題やいい提案があったら、フィードバックしてください.issue、[email protected]または[email protected]
    あなたに役に立つと思ったら、ほめてください.