spring-data-mongodb必须了解的操作
1关键之识别
| Keyword | Sample | Logical result |
| GreaterThan | findByAgeGreaterThan(int age) | {"age" : {"$gt" : age}} |
| LessThan | findByAgeLessThan(int age) | {"age" : {"$lt" : age}} |
| Between | findByAgeBetween(int from, int to) | {"age" : {"$gt" : from, "$lt" : to}} |
| IsNotNull, NotNull | findByFirstnameNotNull() | {"age" : {"$ne" : null}} |
| IsNull, Null | findByFirstnameNull() | {"age" : null} |
| Like | findByFirstnameLike(String name) | {"age" : age} ( age as regex) |
| Regex | findByFirstnameRegex(String firstname) | {"firstname" : {"$regex" : firstname }} |
| (No keyword) | findByFirstname(String name) | {"age" : name} |
| Not | findByFirstnameNot(String name) | {"age" : {"$ne" : name}} |
| Near | findByLocationNear(Point point) | {"location" : {"$near" : [x,y]}} |
| Within | findByLocationWithin(Circle circle) | {"location" : {"$within" : {"$center" : [ [x, y], distance]}}} |
| Within | findByLocationWithin(Box box) | {"location" : {"$within" : {"$box" : [ [x1, y1], x2, y2]}}}True |
| IsTrue, True | findByActiveIsTrue() | {"active" : true} |
| IsFalse, False | findByActiveIsFalse() | {"active" : false} |
| Exists | findByLocationExists(boolean exists) | {"location" : {"$exists" : exists }} |
publicinterfacePersonRepositoryextendsMongoRepository<Person,String>
@Query("{ 'firstname' : ?0 }")
List<Person> findByThePersonsFirstname(String firstname);
}
2.2查询部分属性
publicinterfacePersonRepositoryextendsMongoRepository<Person,String>
@Query(value="{ 'firstname' : ?0 }", fields="{ 'firstname' : 1, 'lastname' : 1}")
List<Person> findByThePersonsFirstname(String firstname);
}
3bean的配置属性
@Id- 配置id@Document映射到数据库的集合名,可以设置名称@DBRef- applied at the field to indicate it is to be stored using a com.mongodb.DBRef.@Indexed- applied at the field level to describe how to index the field.@CompoundIndex- applied at the type level to declare Compound Indexes@GeoSpatialIndexed- applied at the field level to describe how to geoindex the field.@Transient- 当有数据部需要保存的时候可以使用@PersistenceConstructor- marks a given constructor - even a package protected one - to use when instantiating the object from the database. Constructor arguments are mapped by name to the key values in the retrieved DBObject.@Value- this annotation is part of the Spring Framework . Within the mapping framework it can be applied to constructor arguments. This lets you use a Spring Expression Language statement to transform a key's value retrieved in the database before it is used to construct a domain object.@Field- 给该属性添加存储在数据库中的名字@Document
@CompoundIndexes({
@CompoundIndex(name ="age_idx",def="{'lastName': 1, 'age': -1}")
})//上面配置了联合属性lastName和age
publicclassPerson<T extendsAddress>{ @Id
privateString id; @Indexed(unique =true)
privateInteger ssn; @Field("fName")
privateString firstName; @Indexed
privateString lastName; privateInteger age; @Transient
privateInteger accountTotal; @DBRef
privateList<Account> accounts; private T address; publicPerson(Integer ssn){
this.ssn = ssn;
} @PersistenceConstructor
publicPerson(Integer ssn,String firstName,String lastName,Integer age, T address){
this.ssn = ssn;
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.address = address;
}
}
3.2 @DBRef使用

spring-data-mongodb必须了解的操作的更多相关文章
- Spring Data MongoDB 一:入门篇(环境搭建、简单的CRUD操作)
一.简介 Spring Data MongoDB 项目提供与MongoDB文档数据库的集成.Spring Data MongoDB POJO的关键功能区域为中心的模型与MongoDB的DBColle ...
- 使用Spring访问Mongodb的方法大全——Spring Data MongoDB查询指南
1.概述 Spring Data MongoDB 是Spring框架访问mongodb的神器,借助它可以非常方便的读写mongo库.本文介绍使用Spring Data MongoDB来访问mongod ...
- Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)(一)
一.简单介绍 Spring Data MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,上一 ...
- Spring Data MongoDB 三:基本文档查询(Query、BasicQuery
一.简介 spring Data MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,上一篇我 ...
- Spring Data MongoDB 四:基本文档改动(update)(一)
Spring Data MongoDB 三:基本文档查询(Query.BasicQuery)(一) 学习MongoDB 二:MongoDB加入.删除.改动 一.简单介绍 Spring Data Mo ...
- Spring Data MongoDB 五:进阶文档查询(分页、Morphia)(二)
Spring Data MongoDB 三:基本文档查询(Query.BasicQuery)(一) 学习MongoDB 六: MongoDB查询(游标操作.游标信息)(三) 一.简单介绍 Spring ...
- 使用Spring访问Mongodb的方法大全——Spring Data MongoDB
1.概述 Spring Data MongoDB 是Spring框架访问mongodb的神器,借助它可以非常方便的读写mongo库.本文介绍使用Spring Data MongoDB来访问mongod ...
- spring data mongodb CURD
一.添加 Spring Data MongoDB 的MongoTemplate提供了两种存储文档方式,分别是save和insert方法,这两种的区别: (1)save :我们在新增文档时,如果有一 ...
- 使用Spring Data Mongodb的MongoRepository类进行增删改查
Spring Data Mongodb提供一套快捷操作 mongodb的方法,创建Dao,继承MongoRepository,并指定实体类型和主键类型. public interface CmsPag ...
- 如何在Spring Data MongoDB 中保存和查询动态字段
原文: https://stackoverflow.com/questions/46466562/how-to-save-and-query-dynamic-fields-in-spring-data ...
随机推荐
- Android RatingBar自定义替换系统图片
1.自定义替换提醒☆图片,准备两个图片添加到系统中去:如下: 在drewable下定义一个图片资源ratingbar_drawable.xml 1 2 3 4 5 6 7 8 9 10 ...
- FZU 1686 神龙的难题(DLX反复覆盖)
FZU 1686 神龙的难题 pid=1686" target="_blank" style="">题目链接 题意:中文题 思路:每个1看成列, ...
- FoxOne---一个快速高效的BS框架--WEB控件属性编辑器
FoxOne---一个快速高效的BS框架--(1) FoxOne---一个快速高效的BS框架--(2) FoxOne---一个快速高效的BS框架--(3) FoxOne---一个快速高效的BS框架-- ...
- 【转】NSHashtable and NSMaptable
本文转自Nidom的博客,原文:<NSHashtable & NSMaptable> NSSet, NSDictionary, NSArray是Foundation框架关于集合 ...
- ASP.NET MVC3.0或4.0设置二级域名的方法
之前我就想做二级域名指向同一个IP同一个程序无非是在路由匹配规则上做文章也就是对Url的重写的一种思路.我用了半天时间上网查阅了相关资料并做了Demo测试是完全 以的,在这分享给大家... 假如网站主 ...
- arcmap从excel坐标数据生成点shp文件
概述 今天试图在ArcMap中将excel数据转成点文件,在"Display XY Data"的时候,无法选择X,Y字段,很是纳闷,原来Excel中列的格式是文本,导致无法选择.有 ...
- mysql 查询大量数据内存溢出
使用非buffer 的sql 查询 比如pymysql 的 pymysql.cursor.SSCursion
- Selenium2Library+ride学习笔记
一.环境部署 1.安装python2.7编译环境.ride环境以及Selenium2Library环境,环境部署可参见前面几节. 2.启动RIDE编译环境,导入Selenium2Library库. ...
- 从汇编来看c语言
一. 学习过程 从C语言的角度提出一些问题,这些问题再从汇编的角度考虑,还真的很有意思. (1) 我们用高级语言编程时,一般不可能不用到变量,但是一定要用到变量吗?还有这些变量从汇编的角度是怎么实现的 ...
- Codeforces 525E Anya and Cubes
http://codeforces.com/contest/525/problem/E 题意: 有n个方块,上面写着一些自然数,还有k个感叹号可用.k<=n 你可以选任意个方块,然后选一些贴上感 ...