MongoHelper
/*
@@decription mongodbHelper
@@version 1.0
@@author think_fish&&dachie
@@copyright think_fish@@dachie
*/ var mongodb=require('./db.js'); function Helper(){};
module.exports=Helper; /*
@@新增方法
@@tbName:表名 :string
@@obj:新增对象 :{}
@@callback:回调 :function
@@ensure:唯一索引 :{}
*/
Helper.execInsert=function(tbName,obj,callback,ensure){
ensure=ensure||{};
mongodb.open(function (err,db) {
if(err){
mongodb.close();
return callback(err);
}
db.collection(tbName,function(err,collection){
if(err){
mongodb.close();
return callback(err);
}
collection.ensureIndex(ensure,{'unique':true});
collection.insert(obj,{safe:true},function (err,doc) {
mongodb.close();
callback(err,doc);
}); });
})
} /*
@@修改方法
@@tbName 表名 :string
@@oldObj 原对象 :{}
@@newObj 新对象 :{}
@@callback 回调 :function
*/
Helper.execUpdate =function(tbName,oldObj,newObj,callback) {
mongodb.open(function (err,db) {
if(err){
mongodb.close();
return callback(err);
}
db.collection(tbName,function(err,collection){
if(err){
mongodb.close();
return callback(err);
}
collection.update(oldObj,{
$set:newObj
},{safe:true},function(err,doc){
mongodb.close();
callback(err,doc);
});
});
})
} /*
@@删除方法
@@tbName 表名 :string
@@delObj 原对象 :{}
@@callback 回调 :function
*/
Helper.execRemove=function(tbName,delObj,callback){
mongodb.open(function (err,db) {
if(err){
mongodb.close();
return callback(err);
}
db.collection(tbName,function(err,collection){
if(err){
mongodb.close();
return callback(err);
}
collection.remove(delObj,{safe:true},function (err,count) {
mongodb.close();
callback(err,count);
}); });
})
} /*
@@删除方法
@@tbName 表名 :string
@@query 查询条件 :{}
@@callback 回调 :function
*/
Helper.find=function(tbName,query,callback,sort){
mongodb.open(function(err,db){
if(err){
mongodb.close();
return callback(err);
} db.collection(tbName,function(err,collection){
if(err){
mongodb.close();
return callback(err);
} collection.find(query).sort(sort).toArray(function(err,list){
mongodb.close();
callback(err,list);
});
});
});
} /*
@@删除方法
@@tbName 表名 :string
@@query 查询条件 :{}
@@callback 回调 :function
*/
Helper.findOne=function(tbName,query,callback){
mongodb.open(function(err,db){
if(err){
mongodb.close();
return callback(err);
}
db.collection(tbName,function(err,collection){
if(err){
mongodb.close();
return callback(err);
}
collection.findOne(query,function(err,doc){
mongodb.close();
callback(err,doc);
});
});
});
};
MongoHelper的更多相关文章
- C# mongohelper的初始化及账户密码设置
MongoClientSettings mongoSettings = new MongoClientSettings(); TimeSpan t = ); mongoSettings.Connect ...
- Python mongoHelper模块
#!/usr/bin/env python3 # -*- coding: utf-8 -*- ''' Defines a MongoOperator class and allows you to m ...
- MongoHelper.cs
using System; using MongoDB.Bson; using MongoDB; using System.Web; using MongoDB.Driver; namespace Y ...
- 模拟搭建Web项目的真实运行环境(七)
下面这个是mongo驱动的小案例,里面也有涉及到一点redis的操作 https://github.com/SuperRocky/MyMongoDriver 接下来通过几张图片主要介绍一下每个文件的具 ...
- MongoDB的简单操作(asp.net)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using MongoDB.D ...
- MongoDB 之C#实践
官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads.下载后,还提供了一个酷似msdn的帮助文档. samus驱动:https:/ ...
- C#操作Mongodb
因为MongoDb 跨平台,可以免费使用,读写效率高,集群搭建简单,可以水平扩展等各种因素. 我决定研究一下Mongodb,在查看了相关文档后发现它对C#的支持不错,而且还有现成的C#的驱动, 新版的 ...
- 用c#操作Mongodb(附demo)
因为需要,写了一个基于泛型的helper,这样要使用起来方便一点. 为了大家也不重复造轮子,所以发出来希望能帮到谁. 复杂的查询最好用linq,这也是mongodb官方建议的. mongodb的C#配 ...
- [MongoDB]对数组操作
摘要 在实际开发中遇到更新某个document中的数组的值,这里做一下记录. 这里使用的驱动为 using MongoDB.Bson;using MongoDB.Driver; 相关文章 [Mongo ...
随机推荐
- POJ 2236:Wireless Network(并查集)
Wireless Network Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 36363 Accepted: 150 ...
- /sys/kernel/debug/usb/devices解析
1.概述 USB设备通过debugfs导出/sys/kernel/debug/usb/devices显示内核已知的每个USB设备及其配置描述符.此文件对于用户模式下的状态查看工具非常方便,可以扫描文本 ...
- PCB 设计文件中哪些可以不做成元件
PCB 文件中哪些可以不做成元件 在 PCB 设计时有些元件为了快速,实际并不需要做成元件. 因为做成元件会浪费时间,并且生产时也没有实际的元件. 如下(持续更新): PCB 与 PCB 之前的连接人 ...
- 适合Centos Web服务器的iptables规则
适合Centos Web服务器的iptables规则IPT="/sbin/iptables"$IPT --delete-chain$IPT --flush$IPT -P INPUT ...
- const T & 的适用范围
我们往往在类中的函数体,重载操作中看到 const T & 的影子,以前还是比较纳闷. 对于非内部数据类型的参数而言,象void Func(A a) 这样声明的函数注定效率比较底.因为函数体内 ...
- Cacti不出图
http://os.51cto.com/art/201404/434915.htmhttp://os.51cto.com/art/201109/289306.htmhttp://freeloda.bl ...
- make 写法练习
cc=g++ all:signal %:%.o $(cc) -o $< $@ %.cpp:%.o echo se $< $@ $* $^ g++ -c $< $@cl: rm -rf ...
- 关于android 动态设置view 样式 问题(默认style)
解决方案一: Button btn=new Button(new ContextThemeWrapper(mContext,R.style.service_text_dialog_style),nul ...
- PAT 甲级 1009 Product of Polynomials (25)(25 分)(坑比较多,a可能很大,a也有可能是负数,回头再看看)
1009 Product of Polynomials (25)(25 分) This time, you are supposed to find A*B where A and B are two ...
- 处理DateTime.Now不经过ToString()转换的格式(带有AM、PM)问题
问题是这样的: DateTime.Now不经过ToString()转换,网站部署到测试服务器(国内)得到的时间格式是:2018/8/17 16:26:09,而部署到国外服务器得到的时间格式是:17/8 ...