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的更多相关文章
随机推荐
- Nagios安装
在做安装之前确认要对该机器拥有root权限. 确认你安装好的Fedora系统上已经安装如下软件包再继续: Apache GCC编译器 GD库与开发库 可以用yum命令来安装这些软件包: yum ins ...
- 【TortoiseGit】TortoiseGit将本地库push到远端
以前也在使用GitHub,2年前电脑上就装了TortoiseGit和SVN,公司也在用Git,但是并没有刻意去做一些事情,未免觉得有些生疏,今天闲来无聊.玩了一把.[做中成长] 对于GitToiseG ...
- Linux远程复制命令SCP
scp test.json savo@yourdomain.com:/usr/share/nginx/test # 以上命令需配置好ssh
- NodeJS Addon 多线程
Mac版本客户端准备使用electron实现,需要对现有的C API的IM SDK 做NodeJS封装,提供Javascript接口. 使用Nan,遇到的问题主要是NodeJS是libuv defal ...
- java反射
知识点1:获取类字节码的三种形式 1.Class date = Date.class;//根据类名获取字节码 2.Date date= new Date(); date.getClass();//对象 ...
- mybatis Oracle 批量插入,批量更新
传入的参数只要是list类型的参数就行了..............1.批量插入<insert id="insertBatch" parameterType="ja ...
- asp.net 读取导入的project(mpp)文件
公司项目有用到读取project文件(.mpp)并保存到指定数据库类似的功能. 查了一下大家总结的方法. 找到一哥们代码,初步判断可行,特此收藏. using System.IO; using Mic ...
- HTML5 的一些小的整理吧
主要的就是一些HTML 5 API 的使用 也是借鉴别人的博客 ,和MDN(中文部分的还是能看的懂) 上面的一些东西 具体的代码在 有道云笔记里面也有. 先把总得列出来 1.Canvas绘图 学完这个 ...
- 自定义 URL Scheme 完全指南
本文由 Migrant 翻译自 The Complete Tutorial on iOS/iPhone Custom URL Schemes,转载请注明出处. 注意: 自从自定义 URL 的引入,本文 ...
- js 数组删去重复的加上没有的元素
为了一个数组的删除操作竟然费了一个多小时,下面分享一下我的代码: 代码功能:判断数组里是否有我要看的元素,如果没有就添加到数组里,如果有就去掉. var selectArr=[]; function ...