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