mongodb+nodejs 增刪查的demo

來源:互聯網
上載者:User

標籤:

1.啟動資料庫

啟動完成後顯示 

連接埠號碼是27017

 

2。建立資料庫 建立一個名為mydb的資料庫

   

3.先查詢一下當然的使用者,再新增一個

   

4.建立資料表,查詢所有的表

  db.createCollection("Account")

  

5.新增資料 

  db.account.insert( { _id: 10, type: "misc", item: "card", qty: 15 } )

  其中account是表的名字

  

 6.然後我們就可以結合nodejs+mongodb了

 

這個是本項目的結構

這是setting.js檔案

 

 這是result.js檔案

base.js檔案

user.js檔案

 

user.js是一個模型文檔不會處理資料

7.在自己做項目中探索方法不是最難的,自己摸索路徑跳轉對我來說才是難的

我在app.js項目中加了

app.use(‘/login‘,require(‘./routes/login‘));
這樣跳轉到了登入頁面
app.use(‘/users‘, require(‘./routes/users‘)); //這個是使用者資訊處理總的js

雖然很醜,但是可以完成基本的需求

這是頁面的代碼

<!DOCTYPE html><html><head>    <title><%= title %></title>    <link rel=‘stylesheet‘ href=‘/stylesheets/style.css‘ /></head><body><h1>登入 </h1><p>熱烈歡迎</p><form name="login" method="post" action="/users/loginAction"><div>    手機號:<input type="text" name ="mobile"/></div><div>    密碼:<input type="text" name ="password"/></div>    <button type="submit" value="登入">登入</button>    <input type="submit" formaction="/users/register" value="註冊" /></form></body></html>

8.處理商務邏輯的增加使用者,刪除使用者,查詢使用者列表 (./routes/users)

var express = require(‘express‘);var router = express.Router();console.log("user.js")var UserEntity = require(‘../models/user‘).UserEntity;var RestResult = require(‘../result‘);router.post(‘/register‘,function(req,res,next){  console.log("zhuce")  var restResult = new RestResult();  var mobile = req.body.mobile;  var password = req.body.password;  if(!password || password < 6){    restResult.errorCode = RestResult.ILLEGAL_ARGUMENT_ERROR_CODE;    restResult.errorReason = "密碼長度不能少於6拉";    res.send(restResult);    return;  }  //findOne方法,第一個參數數條件,第二個參數是欄位投影,第三那個參數是回呼函數  UserEntity.findOne({mobile:mobile},‘_id‘,function(err,user){    if(err){    }    if(user){      restResult.errorCode = RestResult.BUSINESS_ERROR_CODE;      restResult.errorReason = "手機號登入";      res.send(restResult);      return;    }    var registerUser = new UserEntity({mobile:mobile,password:password});    registerUser.save(function(err,row){      if(err){        restResult.errorCode = RestResult.SERVER_EXCEPTION_ERROR_CODE;        restResult.errorReason="伺服器有問題";        res.send(restResult);        return;      }      console.log("插入成功");      res.send(restResult);    })  })})router.get(‘/‘, function(req, res, next) {  res.render(‘login‘, { title: ‘Express‘ });});router.post(‘/remove‘,function(req,res,next){  var id = req.body.id;  console.log(‘id:‘+id);  UserEntity.remove({    _id:id  },function(){    console.log(‘刪除成功‘)    res.send({code:1});  })})//登陸路由router.post(‘/loginAction‘,function(req,res,next){  console.log("登入中");  var restResult = new RestResult();  var mobile = req.body.mobile;  console.log("mobile:"+mobile)  console.log("password:"+mobile)  if (!/1\d{10}/.test(mobile)){//手機號碼格式校正    restResult.errorCode = RestResult.ILLEGAL_ARGUMENT_ERROR_CODE;    restResult.errorReason = "請填寫真確的手機格式";    res.send(restResult);    return;  }  var password = req.body.password;  if(!password){    restResult.errorCode = RestResult.ILLEGAL_ARGUMENT_ERROR_CODE;    restResult.errorReason = "密碼不可為空";    res.send(restResult);    return;  }  UserEntity.findOne({mobile:mobile,password:password},{password:0},function(err,user){    if(err){      restResult.errorCode = RestResult.SERVER_EXCEPTION_ERROR_CODE;      restResult.errorReason = "伺服器異常";      res.send(restResult);      return;    }    if(!user){      restResult.errorCode = RestResult.BUSINESS_ERROR_CODE;      restResult.errorReason = "使用者名稱或密碼錯誤";      res.send(restResult);      return;    }  /*  restResult.returnValue = user;    res.send(restResult);*/    UserEntity.find({},{},function(e,docs){      res.render(‘userlist‘,{        "userlist":docs      });    });    //更新最後登陸時間    UserEntity.update({_id:user._id},{$set: {lastLoginTime: new Date()}}).exec();  });});module.exports = router;

9,最後看一下效果

 


mongodb+nodejs 增刪查的demo

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.