MongooseHelper
/**
* Created by lbc on 2016/11/16.
*/
var mongoose=require("mongoose");
var db=mongoose.connect('mongodb://localhost/test'); //连接数据库
var Schema=mongoose.Schema; //创建模型 db.connection.on("error",function(error){
console.log("数据库连接失败:"+error)
});
db.connection.on("open", function () {
console.log("------数据库连接成功!------");
}); var userSchema=new Schema({
name:String,
password:String
}); //定义了一个新的模型,但是此模型还未和users集合有关联
//扩展静态方法 extend
userSchema.static('findByName',function(name,callback){
return this.fund({name:name},callback);
}); var userModel=db.model('users',userSchema); /***************************************************************************************/
//保存-entity
var saveOp=function(collection){
collection.save(function(error,doc){
if(error){
console.log("error:"+error);
}else{
console.log(doc); // obj { __v: 0, name: 'lgb', password: 'abc123', _id: 5832bcdf78b9e9227cb0319e }
}
});
};
//新增-model
var insertOp=function(collection,model){
collection.create(model,function(error,doc){
if(error){
console.log("error:"+error);
}else{
console.log(doc); // obj { __v: 0, name: 'lgb', password: 'abc123', _id: 5832bcdf78b9e9227cb0319e }
}
});
};
//更新-model
var updateOp=function(conllection,fiter,update){
conllection.update(fiter,update,function(error,doc){
if(error){
console.log("error:"+error);
}else{
console.log(doc); // { ok: 1, nModified: 1, n: 1 }
}
});
};
//删除-model
var removeOp=function(conllection,fiter){
conllection.remove(fiter,function(error,docs){
if(error){
console.log('error:'+error);
}else{
console.log(docs); //{ result: { ok: 1, n: 1 }
}
});
};
//查询-model
var findOp=function(collection,filter,fields,options){
collection.find(filter,fields,options,function(error,docs){
if(error){
console.log("error:"+error);
}else{
console.log(docs); // []
}
});
};
//查询单条-model
var findOneOp=function(collection,filter,fields){
collection.findOne(filter,fields,function(error,docs){
if(error){
console.log("error:"+error);
}else{
console.log(docs); //obj
}
});
};
//查询单条-model-By _id
var findByIdOp=function(collection,_id,fields){
collection.findById(_id,fields,function(error,docs){
if(error){
console.log("error:"+error);
}else{
console.log(docs); //obj
}
});
};
/***************************************************************************************/ //saveOp(new userModel({name:'lbc123',password:'123'}));
//insertOp(userModel,{name:'lgb',password:'abc123',sex:true})
//findOp(userModel,{},null,{limit:50});
//updateOp(userModel,{name:'lbc123'},{$set:{password:'abc123'}});
//removeOp(userModel,{_id:'582d5eefc6fa58205c0a7161'});
//findOneOp(userModel,{name:'lbc123'},{name:1});
//findByIdOp(userModel,'5832a0f5b84f0a1fd0ef5770'); exports.user=userModel; //与users集合关联 映射 ORM //filter 条件语法
/*1. $gt(>),$lt(<),$lte(<=),$gte(>=)操作符:针对Number类型的查询具体超强的排除性。
2. $ne(!=)操作符:相当于不等于、不包含,查询时可根据单个或多个属性进行结果排除。
3. $in操作符:和$ne操作符用法相同,但意义相反。
4. $or操作符:可查询多个条件,只要满足其中一个就可返回结果值。
5. $exists操作符:主要用于判断某些属性是否存在。
游标:
{limit:10} 限制数量
{skip:10} 跳过数量 数量中少于n的话,则不会返回任何结果。
{sort:{age:-1}} 结果排序 1是升序 asc,-1是降序 desc
*/
MongooseHelper的更多相关文章
随机推荐
- linux文件对比命令——diff
diff用于比较文件或目录内容,特别是比较两个版本不同的文件以找到改动的地方. 如果指定比较的是文件,则只有当输入为文本文件时才有效,以逐行的方式,比较文本文件的异同处. 如果指定比较的是目录的的时候 ...
- pwd命令
[pwd] 打印当前的工作目录 pwd==print work director 命令格式: pwd [OPTION]... 命令功能: 打印当前工作目录的全路径 命 ...
- [转载]python property
@property 简单解释. http://python.jobbole.com/80955/
- 设计模式--享元模式Flyweight(结构型)
一.享元模式 在一个系统中如果有多个相同的对象,这些对象有部分状态是可以共享的,我们运用共享技术就能有效地支持大量细粒度的对象. 二.例子 举个围棋的例子,围棋的棋盘共有361格,即可放361个棋子. ...
- windows server 2008 wamp安装报000F15A0解决方法
wampserver2.2c-x64 原因:缺少Visual C++ 2008 Runtime x64,官网地址http://www.microsoft.com/zh-cn/download/deta ...
- Devils never rest
一个人 练习一个人 书名 看到就被吸引了,然后亚马逊下手 作者很文艺,我很喜欢作者内心的那份宁静. 我一个人吃饭 旅行 到处走走停停 也一个人看书 写信 自己对话谈心 依然是心内一片寂静,总是不由自主 ...
- debian8安装Odoo中的Barcode Scanner Hardware Driver模块时,提示没有evdev
解决方法: $ apt-get install python-dev python-pip gcc $ apt-get install linux-headers-$(uname -r) $ sudo ...
- js学习进阶-元素获取及样式设置
var imgs = document.querySelectorAll("article img"); 获得article元素的直接或间接子孙的所有img元素, <arti ...
- js 数组删去重复的加上没有的元素
为了一个数组的删除操作竟然费了一个多小时,下面分享一下我的代码: 代码功能:判断数组里是否有我要看的元素,如果没有就添加到数组里,如果有就去掉. var selectArr=[]; function ...
- jquery 替换文本内容
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...