基於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);