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