Spring DATA MongoDB @DBref查询,or和and联合查询

@DBref文档关联,在按该类型查询的时候,在字段名后加上关联表的字段名即可,如:

Criteria.where("bloggroup.$id"),

$id代表关联表的oid字段。

or和and联合查询

比如查询 (A = 1 and b = 2 )or (A = 3 and b =4),or的数量不确定,

那么采用定义一个Criteria数组,将条件组记入数组中,然后将数组指定给orCriteria方法。

@Override
public List<Blog> find(List<GroupAttention> groupattentions) {
  Query query = new Query();
  Criteria criteria = new Criteria();
  Criteria[] criterialist = new Criteria[groupattentions.size()];
  for(int i=0;i<groupattentions.size();i++){
    Criteria criteriaand = new Criteria();
    criteriaand.andOperator(Criteria.where("bloggroup.$id").is(new ObjectId(groupattentions.get(i).getGroupid())).and("bloglevel").gte(groupattentions.get(i).getGrouplevel()));
    criterialist[i] = criteriaand;
  }
  criteria.orOperator(criterialist);
  query.addCriteria(criteria);
  return mongoTemplateDataBase.find(query, Blog.class);
}

时间: 2024-08-25 21:14:08

Spring DATA MongoDB @DBref查询,or和and联合查询的相关文章

Spring Data MongoDB 分页查询

在上篇文章 Spring Data MongoDB 环境搭建 基础上进行分页查询 定义公用分页参数类,实现 Pageable 接口 import java.io.Serializable; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; public class SpringDataPageable implements Serializable, Page

Spring Data MongoDB 五:进阶文档查询(分页、Morphia)(二)

Spring Data MongoDB 三:基本文档查询(Query.BasicQuery)(一) 学习MongoDB 六: MongoDB查询(游标操作.游标信息)(三) 一.简介 SpringData  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的find的操作,我们上一篇介绍了基本文档的查询,我们今天介绍分页查询,分页查询是返回到匹配文档的游标,可以随意修改查询限制.跳跃.和排序顺序的功能. 我

Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)(一)

一.简介 Spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,上一篇我们介绍了对MongoDB的新增和删除, 今天我们要介绍Java代码实现对MongoDB实现查询操作. 我们回顾一下,我们在之前介绍了MongoDB的基本文档查询,MongoDB的查询语法: db.orders.find({{<field1>:<value1>,<field2>

[Spring Data MongoDB]学习笔记--MongoTemplate查询操作

查询操作主要用到两个类:Query, Criteria 所有的find方法都需要一个query的object. 1. 直接通过json来查找,不过这种方式在代码中是不推荐的. BasicQuery query = new BasicQuery("{ age : { $lt : 50 }, accounts.balance : { $gt : 1000.00 }}"); List<Person> result = mongoTemplate.find(query, Perso

Spring Data MongoDB实战(上)

Spring Data MongoDB实战(上) 作者:chszs,版权所有,未经同意,不得转载.博主主页:http://blog.csdn.net/chszs 本文会详细展示Spring Data MongoDB是如何访问MongoDB数据库的.MongoDB是一个开源的文档型NoSQL数据库,而Spring Data MongoDB是Spring Data的模块之一,专用于访问MongoDB数据库.Spring Data MongoDB模块既提供了基于方法名的查询方式,也提供了基于注释的查询

Spring Data MongoDB 二:添加、删除操作

一.简介 Spring  Data  MongoDB 项目提供与MongoDB文档数据库的集成,Spring与Hibernate集成时,Spring提供了org.springframework.orm.hibernate3.HibernateTemplate实现了对数据的CRUD操作, Spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,包括对集成的对象映射文件和PO

spring data mongodb中,如果对象中的属性不想加入到数据库字段中

spring data mongodb中,如果对象中的属性不想加入到数据库字段中,可加@Transient注解,声明为透明属性 spring data mongodb 官网帮助文档 http://www.boyunjian.com/javadoc/org.springframework.data/spring-data-mongodb/1.2.3.RELEASE/_/org/springframework/data/mongodb/core/query/Criteria.html#all(jav

[Spring Data MongoDB]学习笔记--MongoTemplate插入修改操作

插入操作: 直接给个例子 import static org.springframework.data.mongodb.core.query.Criteria.where; import static org.springframework.data.mongodb.core.query.Criteria.query; … Person p = new Person("Bob", 33); mongoTemplate.insert(p);//还可以多加一个参数,来提供collectio

Spring Data MongoDB 四:基本文档修改(update)(一)

Spring Data MongoDB 三:基本文档查询(Query.BasicQuery)(一) 学习MongoDB 二:MongoDB添加.删除.修改 一.简介 Spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的update的操作,可以对在存储数据时是以键-值对的集合键是字符串,值可以是数据类型集合里的任意类型,包括数组和文档进行修改,我们今天介绍对基本文档的修改的方法.参数进