`

springdatamongodb_api

    博客分类:
  • API
 
阅读更多

1.查询条件

Criteria

is=相等,in=在列表中,and=且,

Criteria.where("dbid").is(dbid).and("groupTypeId").in(gtIds).and("depId").in(deptRels).and("isPrivate").exists(false).and("itemTypeId").nin(hiddenIds)

nin不属于

exists 字段存在

多个critreia  or

new Criteria().orOperator(filterCriteria.toArray(new Criteria[filterCriteria.size()])

Criteria elemMatch(Criteria c)

Order 

order = new Order(orderItem.isDesc() ? Direction.DESC : Direction.ASC, orderItem.getPropertyName());

 

Sort 

Sort(Order...)

 

Query

query.addCriteria(critreia)

query.withHint

query.with(new Sort(new Order(Direction.DESC, "index")));

query.limit(limit);

 

Update 

update = new Update();

update.set(key, Object);设置属性key的值为object

update.inc(propName, Number);属性key的值加number

push(String key, Object value) ;往数组,属性值为的key添加一个元素value

update.pull(property, value);数组,属性值为的key移除一个元素value  或者Criteria criteria = new Criteria(pullProperty);criteria.is(value);根据条件移除,元素中的某个属性pullProperty条件值value

 

Update pop(String key, Position pos)数组key移除出一个位置的值(Position是first或laster)

MongoTemplate

public <T> List<T> find(Query query, Class<T> entityClass)

mongoTemplate.findAndRemove(query, Approvers.class);

mongoTemplate.findOne(Query query, Class<T> entityClass)

public <T> T findAndModify(Query query, Update update, FindAndModifyOptions options, Class<T> entityClass)

mongoTemplate.save(entity);

public WriteResult updateMulti(Query query, Update update, Class<?> entityClass)

long count(Query query, Class<?> entityClass, String collectionName)

 

 

mongodb存对象的引用

对像有这个注解属性

@DBRef

private StreamDynamic streamDynamic;

 

 

 

mongodb 操作数组private <T> void updateArrayByKey(String id, String property, String pullProperty, Object value, Class<T> entityClass, boolean delete) {

Query query = new Query();

query.addCriteria(Criteria.where("_id").is(id));

Update update = new Update();

if (delete) {

if (pullProperty == null) {

update.pull(property, value);

} else {

Criteria criteria = new Criteria(pullProperty);

criteria.is(value);

update.pull(property, criteria.getCriteriaObject());

}

} else {

update.push(property, value);

}

mongoTemplate.findAndModify(query, update, entityClass);

}

分享到:
评论

相关推荐

    基于springboot和springdatamongodb的美食菜谱网站.zip

    【标题】"基于Springboot和SpringDataMongoDB的美食菜谱网站"是一个示例项目,展示了如何使用Spring Boot框架和Spring Data MongoDB模块构建一个在线的美食菜谱平台。这个项目的核心在于利用现代Java开发工具和技术...

    提高MongoDB使用效率SpringDataMongoDB.zip

    它使用了熟悉的 Spring 概念,例如用于核心 API 的模块类,轻量级仓库风格的数据访问。Spring Data MongoDB 项目提供了集成 MongoDB 文档数据库。Spring Data MongoDB 的核心功能区是一个 POJO 中心模型,用于与 ...

    springMongodb参考文档中文版

    - **核心概念**:虽然不需要深入了解Spring API的具体细节,但对Spring框架背后的原理有一定认识是非常重要的,比如IoC容器的概念。 #### 2. 了解NoSQL和文档数据库 - **NoSQL**:一种广泛采用的非关系型数据库技术...

    mongodb&spring&struts&springdatamongodb整合,带所有jar,需要的拿走

    Spring Data MongoDB是Spring Data项目的一部分,它为MongoDB提供了简单易用的API,开发者可以避免直接编写MongoDB的原生驱动代码。Spring Data MongoDB支持自动实体映射,通过注解即可定义对象与MongoDB集合之间的...

    Spring Data MongoDB中文文档

    - **MongoTemplate**: 提供了用于执行 CRUD 操作的高级 API。 - **Query**: 支持基于方法名称的查询,无需编写复杂的查询语句。 - **Aggregation**: 支持 MongoDB 的聚合框架,便于进行复杂的数据分析。 - **...

    spring-data使用mongodbTemplate对MongoDB进行读写操作

    MongoDBTemplate是Spring Data MongoDB的核心组件,它提供了丰富的API来执行常见的数据库操作。 首先,让我们深入理解`MongoDBTemplate`。它是MongoDB操作的抽象层,封装了大量的CRUD(创建、读取、更新、删除)...

    基于springboot+mongodb搭建的简约个人博客系统.zip

    开发者可能创建了MongoDB的Repository接口,利用SpringDataMongoDB提供的功能进行数据操作。此外,前端可能使用了Thymeleaf、FreeMarker或其他模板引擎,与后端通过RESTful API交互。 总的来说,这个项目为学习者...

    mongoDB 4.0事务回滚的辛酸历程探究

    MongoDB 4.0引入了对ACID事务的支持,这是MongoDB发展的一个重大...开发者需要熟悉新的API和复制集的管理,以确保在实现事务处理时的稳定性和安全性。不断学习和理解这些新特性,对于提升MongoDB应用的质量至关重要。

    spring-mongo整合文档

    Spring Data MongoDB是Spring家族中的一员,旨在简化与MongoDB的集成,提供了一套丰富的API来操作MongoDB数据库。通过抽象出通用的CRUD(创建、读取、更新、删除)操作,开发者可以更专注于业务逻辑的编写,而无需...

Global site tag (gtag.js) - Google Analytics