mongoose應用示例兩則

基於mongoose的測試程序1mongodb

範例:建立models.js文件數據庫

var mongoose = require('mongoose')  // 定義使用組件 
var Schema = mongoose.Schema  // 建立模式 
var UserSchema = new Schema({  
userid : String , 
name : String ,  
password : String 
})  // 定義了一個新的模式,可是此模式還未和users集合有關聯 
exports.User = mongoose.model('User',UserSchema)  // 與Users表關聯

範例:修改index.js文件,使用新的組件模塊 express

var mongoose = require('mongoose')  // 導入組件 
var models = require('./models')  // 導入自定義組件 
var User = models.User  // 使用User模型,對應的users表 
mongoose.connect('mongodb://localhost/mldndb')  // 鏈接數據庫

如今最須要改變的就是doLogin操做,由於此處須要使用數據庫驗證。  app

若是要想完成登陸驗證,只須要根據用戶名和密碼取得數據量便可。mongoose

 

db.users.count({userid:'mldn',password:'hello'})

只須要根據返回的數量就能夠肯定用戶名和密碼是否正確。測試

 exports.doLogin = function(req, res){ 
 // 如今拼湊出了一個基本的字符串 
 var query_doc = {userid:req.body.userid , password:req.body.password}  // 固定數據
  User.count(query_doc,function(err,doc){// 直接利用mongodb的命令進行操做   
if(doc == 0) { // 輸入錯誤,沒有此信息 
   res.redirect("/login")  
  } else { 
// 成功 
 res.redirect("/welcome?uid=" + req.body.userid)  // 地址重寫 
}
})
};

並且最爲關鍵的是整個過程之中,再也不去考慮數據庫的關閉問題,極大的方便了用戶開發。ui

 

基於mongoose的測試程序2spa

model.jscode

 var mongoose = require('mongoose');
var Schema = mongoose.Schema;
// Define User schema 
var SchemaName = new Schema({ 
    email : String, 
    name : String, 
    salt : String, 
    password : String 
});
// export them 
module.exports = mongoose.model('QQ', SchemaName);

app.jsserver

 var express = require('express'),
    User = require('./model');
    mongoose = require('mongoose');
 
mongoose.connect('mongodb://localhost/test');
var app = express.createServer();
// init data. Use "get" to simplify 
app.get('/init', function(req, res) { 
    var user = new User({ 
        email : , 
        name : 'maweitao' 
    }); 
    user.save(); 
    res.send('Data inited'); 
});
app.get('/users', function(req, res) { 
    User.findOne({name: 'maweitao'},function(err, doc) { //doc爲集合中知足條件name=maweitao的第一條記錄
       
  
  res.send(doc.email);
    }); 
});
app.listen(3000);
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
相關文章
相關標籤/搜索