/**
* 分页 查询成员列表
* @param params
* @param queryInfo
* @return
*/
public PartialCollection list(Map<String, String> params,QueryInfo queryInfo) {
String groupId=params.get("groupId");
String isAuth=params.get("isAuth");
String isInstall=params.get("isInstall");
String nameOrMdn=params.get("nameOrMdn");
String contactsId=params.get("contactsId");
String spId="";//params.get("spId");
String isAll=params.get("isAll");
MongoQuery query = createMongoQuery(MONGO_CONTACTS_COLLECTION);
BasicDBObject conds = new BasicDBObject();
conds.put("contactsId", contactsId);
if(StringUtil.isNullOrEmpty(spId)){
spId=getSpId();
}
conds.put("spId",spId);
conds.put("status", Constants.CONTACTS_MEMBER_STATUS_NORMAL);
BasicDBObject listMatch=new BasicDBObject();
if(StringUtil.isNotNullOrEmpty(groupId)){
if(Constants.CONTACTS_UNGROUPED_ID.equals(groupId)){//未分组 特殊处理
conds.put("status", Constants.CONTACTS_MEMBER_STATUS_NORMAL);
listMatch.put(QueryOperators.ELEM_MATCH, new BasicDBObject("id",groupId));
query.addAll(new BasicDBObject("groupList", listMatch));
}else{
conds.put("status", Constants.CONTACTS_MEMBER_STATUS_NORMAL);
List<String> gIdList = new ArrayList<String>();
if(Constants.YES.equals(isAll)){
List<Map<String,String>> gList = getGroupChildren(groupId,"3");
if(gList!=null){
for (Map<String,String> group : gList) {
gIdList.add(group.get("id"));
}
}
}else{
gIdList.add(groupId);
}
listMatch.put(QueryOperators.ELEM_MATCH, new BasicDBObject("id", new BasicDBObject(QueryOperators.IN,gIdList)));
query.addAll(new BasicDBObject("groupList", listMatch));
}
}
;
if(StringUtil.isNotNullOrEmpty(isAuth)){
if(Constants.YXT_NOT_AUTH.equals(isAuth)){
BasicDBObject queryObject = new BasicDBObject().append(
QueryOperators.OR,
new BasicDBObject[] { new BasicDBObject("yxtMap", new BasicDBObject(QueryOperators.EXISTS,false)),
new BasicDBObject("yxtMap.isAuth", isAuth)});
query.addAll(queryObject);
}else{
conds.put("yxtMap.isAuth",isAuth);
}
}
if(StringUtil.isNotNullOrEmpty(isInstall)){
if(Constants.YXT_NOT_INSTALL.equals(isInstall)){
conds.append(QueryOperators.OR,
new BasicDBObject[] { new BasicDBObject("yxtMap", new BasicDBObject(QueryOperators.EXISTS,false)),
new BasicDBObject("yxtMap.isInstall", isInstall)});
}else{
conds.put("yxtMap.isInstall",isInstall);
}
}
if(StringUtil.isNotNullOrEmpty(nameOrMdn)){
BasicDBObject queryObject = new BasicDBObject()
.append(QueryOperators.OR, new BasicDBObject[] { new BasicDBObject("name", getLikeBsonObj(nameOrMdn)), new BasicDBObject("mdn", nameOrMdn) });
query.addAll(queryObject);
}
query.addAll(conds);
query.setQueryInfo(queryInfo);
query.sort(new BasicDBObject());
logger.info("list member conds info"+query.getCondsObject().toString());
return query.listPartial();
}
- 浏览: 313814 次
- 性别:
- 来自: 上海
最新评论
-
NEOGX:
http://www.tuicool.com/articles ...
Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 -
么可k:
可以喔
Can not find the tag library descriptor for "http://java.sun.com/j... -
tianyi_qingwu:
解决了我的一个问题,学习了,谢谢!
Ant+Flex: Java Heap Space -
ldci3gandroid:
if(month==0){ year-=1;mont ...
java获取当前日期一个月后的日期 -
djcbpl:
好像不行啊!我放进去了,还是错的啊
Can not find the tag library descriptor for "http://java.sun.com/j...
相关推荐
Python or的写法,希望对你有帮助,建议多查查,扎实下语法再来下载,省的浪费积分,要50个字实在很难受,快写不下去了
然而,在使用过程中,有时会遇到启动脚本错误,如"env: /etc/init.d/mongodb : no such file or directory"。这个错误提示表明系统无法找到MongoDB的初始化脚本来启动服务。下面我们将深入探讨这个问题的原因以及...
在Thinkphp中实现多条件查询时,可以使用框架提供的查询构建器(Query Builder),但是当涉及到MongoDB的复合查询时,比如需要使用AND和OR逻辑运算符进行多条件筛选,官方文档中提供的方法可能不足以满足需求。...
/usr/local/mongodb/mongodb-linux-2.0.7/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/mongodb-linux-2.0.7/logs/mongodb.log --logappend --port=27017 --fork 知识点 6:配置...
$mongo = new Mongo("mongodb://username:password@192.168.1.22:12345", array('connect' => false)); $mongo->connect(); ``` `Mongo`类提供了几个有用的方法,如`listDBs()`用于获取MongoDB服务器上所有数据库的...
MongoDB是一种NoSQL数据库,它不使用传统的关系型数据模型,而是使用JSON-like文档结构来存储数据,这使得数据的存储和查询更为灵活。它的核心特性包括: 1. 文档型数据模型:MongoDB以BSON(Binary JSON)格式存储...
`map`函数定义了如何将每个文档转换为键值对,`reduce`函数则负责聚合这些键值对。在这里,它用于生成不同专业学生名字的列表。 12. Aggregation Framework: `aggregate`命令用于执行聚合管道操作,例如统计不同...
MongoDB是一种流行的开源、分布式文档数据库,常被用于构建高性能、可扩展的应用程序。这个“mongodb-测试数据”压缩包显然包含了一些用于测试MongoDB功能的样例数据集,特别是针对增、删、改、查(CRUD)操作的学习...
MongoDB 实验报告 本实验报告旨在详细介绍 MongoDB 的安装、配置和基本操作步骤,本报告基于 CentOS 7 系统,通过一步一步的截图和文字说明,帮助读者快速掌握 MongoDB 的使用。 一、安装 MongoDB 首先,我们需要...
MongoDB图形化管理工具 MongoDB Compass
sudo vim /etc/yum.repos.d/mongodb-org-4.2.repo 写入: [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpg...
在IT行业中,数据库管理和开发是至关重要的技能,尤其是在大数据时代,NoSQL数据库如MongoDB的使用日益广泛。MongoDB是一个高性能、开源、无模式的分布式文档型数据库,它以其灵活性和可扩展性受到青睐。而PHP作为...
MongoDB Community Server(mongodb-src-r5.0.4.tar.gz)源代码 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非...
MongoDB入门指南 MongoDB是一种开源的文档类型数据库,它具有高性能、可扩展、高可用、自动收缩等特性。MongoDB能够避免传统的ORM映射,从而有助于开发。MongoDB中的每一行记录就是一个文档,它是一个由键值对构成...
MongoDB是一款开源、高性能、无模式的文档型数据库,它在现代应用程序开发中扮演着重要的角色,特别是在处理大量非结构化数据时。针对"mongodb Windows7 64位"这个主题,我们将深入探讨MongoDB在Windows 7 64位操作...
MongoDB驱动
MongoDB是一个开源、分布式、高性能的NoSQL数据库,以其灵活性、可扩展性和高可用性而闻名。`mongodb.dll`是MongoDB数据库系统在Windows平台上运行所必需的一个动态链接库(DLL)文件,它包含了MongoDB客户端和...
本课程是一套关于MongoDB应用开发的实战性教程,名为《深入浅出MongoDB应用实战开发(基础、开发指南、系统管理、集群及系统架构)》,教程侧重于讲解MongoDB的常用特性及高级特性,从实际开发的角度出发对MongoDB...
$mongo = new Mongo("mongodb://username:password@192.168.1.22:12345", array('connect' => false)); $mongo->connect(); ``` 2. **获取数据库信息** - `Mongo::listDBs()`方法用于获取服务器上所有数据库的...