当前位置:Gxlcms > 数据库问题 > Mongodb 数据类型及Mongoose常用CURD【转载】

Mongodb 数据类型及Mongoose常用CURD【转载】

时间:2021-07-01 10:21:17 帮助过:20人阅读

mongoose=require(mongoose); var Schema=mongoose.Schema; //1、连接字符串 mongoose.connect(mongodb://localhost/test); //2、定义你的数据模型(也就是我们在关系数据库中定义的Table) var TodoSchema=new Schema({ title:String, finished:{type:Boolean,default:false}, post_date:{type:Date,default:Date.now} }); //3、访问todo对象模型 mongoose.model(Todo,TodoSchema); //添加 exports.add=function(title,callback){ var newTodo=new Todo(); newTodo.title=title; newTodo.save(function(err){ if(err){ console.log(err); callback(err); }else{ callback(null); } }); } //查找单独的数据 var findTodoById=exports.findTodoById=function(id,callback){ Todo.findOne({_id:id},function(err,doc){ //doc也就是根据id得到的记录值 if(err){ callback(err,null); } callback(null,doc); }) } //删除 exports.delete=function(id,callback){ exports.findTodoById(id,function(err,doc){ if(err){ callback(err); }else{ doc.remove(); callback(null); } }) } //编辑标题 exports.editTitle=function(id,title,callback){ exports.findTodoById(id,function(err,doc){ if(err){ callback(err); }else{ doc.post_date=new Date(); doc.title=title; doc.save(function(err){ if(err){ callback(err); }else{ callback(null); } }) } }) } exports.allTodos=function(callback){ Todo.find({},callback); } //分页查询 exports.TodoPageList=function(pageIndex,pageSize,callback){ var m=Todo.find({}); //也有方法直接这样写: var m=this; var start=(pageIndex-1)*pageSize; m.skip(start); m.limit(pageSize); m.sort({post_date,asc}); //排序 //根据关键字查询后分页 //m.where(‘title‘,‘XXX‘); //执行分页查询 m.exec(function(err,rs){ //分页后的结果 if(err){ callback(err); }else{ Todo.find(function(err,result){ /* 一般情况下的分页你需要同时返回数据库记录总数和分页后的数据,所以这里使用了Todo.find再查询一次 */ callback({rows:rs,total:result.length}); }); } }) }

以上内容是小编给大家介绍的Mongodb 数据类型及Mongoose常用CURD ,希望大家喜欢。

Mongodb 数据类型及Mongoose常用CURD【转载】

标签:关键字   type   shel   start   console   方法   else   过程   number   

人气教程排行