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);
相关文章
相关标签/搜索