標籤:
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