MongoDBのデータベース内のノードについてCRUD

VAR bodyParserは=(必要' bodyParser ' VARマングース=必要(' マングース' ;)

// *********************************************************のMongoDBデータベース********* **********
 // データベースへの接続 
mongoose.Promise = グローバル.Promise; 
mongoose.connect(' のMongoDB:// localhostの/ TODO '、{useMongoClient:真へ})
.then(関数(){コンソールファイル(.log ' のMongoDBデータベース接続の成功' )}) キャッチ(関数(ERR){にconsole.log(ERR)})

// データベース構造を作成し、テーブル名がtodolistsある
VAR= Mongoose.model todolistの(' todolistの' 、{ 
    ID:ナンバー、
    DONE:ブール、
    タイトル:文字列
})

// テストコード:データベースのデータに格納されているtodolistsテーブル
 // todolistの({ID:100、DONE:falseに、タイトル。:})を保存(機能(ERR、データ){ "食べる"
 //      IF(ERR)スローERRを;
 //      はconsole.log( '正常に保存され')
 // })

// ******** ********のMongoDBデータベースは******************* 

// オブジェクトアプリ受け、外方機能を露出 
module.exportsは= 関数(APP){ 
    アプリ。使用(bodyParser.urlencoded({拡張:falseに}))

    // 1.リクエスト(GET)データを取得する 
    。アプリをGET" / " 、機能(REQ、RES){
         // データベース内のすべてのデータに対するクエリ
        TodoList.find({}、関数(ERR、データ){
             // フロントエンドに返されるすべてのデータは、ホームレンダリングさ 
            res.renderを(" インデックス "{ " トドス:データ}); 
        })
    })


    // **********各種フロントエンドによって開始される開始遮断要請以下*********** 

    // データを送信する2. POSTリクエスト傍受遠位 
    app.post(" /追加" 、関数(REQ、RES){
         VAR OBJ = {ID:Date.now()、DONE:falseに、タイトル:req.body.title} 

        / / データベースにデータを挿入し、重複しない主キーIDを生成
        todolistの(OBJ).SAVE(関数(ERR、データ){
             IF(ERR)スローERR; 
            res.send(' OK ' 
        })
    })


    // 3ノックダウン遠位POSTデータ送信要求 
    app.deleteを(" /デル/:ID " 関数(REQ、RES){
         VARの ID =ナンバー(REQ。のparamsは.ID); 

        // クエリデータベースは、IDに応じて削除データ 
        TodoList.find({ " ID :ID})を削除(機能。 (ERR、データ){
             IF(ERR)スローERR; 
            res.send(' OK '//が遠位に応答結果を返す
        })
    })


    // 、フロントエンド4インターセプトを変更するPUT要求状態機関が重要な変更 
    (app.put /更新/:ID 、関数(REQ、RES){
         VARの ID =ナンバー(REQ。のparamsは.ID); 

        // 変更DOS状態(はい/いいえ) 
        TodoList.findOne({ " ID " :ID}、関数(ERR、データ){ 
            data.done!= data.done; // 割り当て変性 
            data.save(); // 保存 
            res.send(' OK '); // 遠位への応答結果を返します
        })
    })


    // 傍受パッチ変更要求、コンテンツ変更DOSの前端 
    app.patch(" :ID /更新/ " 、関数(REQ、RES){
         VAR =ナンバーID(REQ のparamsは、.ID)

        // レビュータイトルコンテンツ行う、方法1。
         // TodoList.findOne({ "ID":ID}、関数(ERR、データ){
         //      data.title = req.body.title; // 割り当て変更
         //      data.save (); // 保存
         //      res.send( 'OK'); //は、遠位に応答結果を返す
         @ })

        TodoList.update({ " ID ":ID}、{$ SET:{" タイトル" :req.body.title}}、関数(ERR、データ){ 
            res.send(' OK '); // 遠位への応答結果を返します
        })
    })
}

 

おすすめ

転載: www.cnblogs.com/xuyx/p/11866941.html