首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring Data Mongo Repository ::所有Repo问题的通用共享方法

Spring Data Mongo Repository

Spring Data Mongo Repository 是一个基于 Spring 框架的、用于简化 MongoDB 操作的 Repository 接口。它为开发者提供了丰富的功能,便于进行 MongoDB 数据库的操作和管理。以下是一些通用共享方法:

  1. 查询所有记录
代码语言:java
复制
List<T> findAll();
  1. 查询指定记录
代码语言:java
复制
List<T> findByIds(List<ObjectId> ids);
  1. 查询具有特定字段值的记录
代码语言:java
复制
List<T> findByField(String field, Object value);
  1. 分页查询
代码语言:java
复制
PageRequest pageRequest = new PageRequest(0, 10);
List<T> pageResult = findAllByPage(pageRequest);
  1. 排序查询
代码语言:java
复制
Sort sort = new Sort(Sort.Direction.ASC, "field");
List<T> sortedResult = findAllBySort(sort);
  1. 限制查询结果
代码语言:java
复制
List<T> limitResult = findAll().limit(10).skip(5).get();
  1. 插入记录
代码语言:java
复制
long insertCount = save(entity);
  1. 更新记录
代码语言:java
复制
boolean updated = update(entity).where(new Criteria().and(new Criteria().equal("fieldName", "value"))).update("fieldName", "newValue").execute();
  1. 删除记录
代码语言:java
复制
boolean deleted = delete(entity).where(new Criteria().and(new Criteria().equal("fieldName", "value"))).execute();
  1. 查询 MongoDB 的索引信息
代码语言:java
复制
List<String> indexNames = mongoTemplate.indexOps(Entity.class).getIndexNames();
  1. 为 MongoDB 创建索引
代码语言:java
复制
mongoTemplate.indexOps(Entity.class).createIndex(new IndexModel(IndexType.DESC, "fieldName"));
  1. 查询所有未分片的集合
代码语言:java
复制
List<String> unshardedCollections = mongoTemplate.collections();
  1. 查询指定集合的分片信息
代码语言:java
复制
List<ShardInfo> shardInfos = mongoTemplate.shardInfo();
  1. 指定集合分片
代码语言:java
复制
mongoTemplate.changeShardCollection(collectionName);
  1. 删除分片
代码语言:java
复制
mongoTemplate.removeShardCollection(collectionName);
  1. 查询所有未分片的集合
代码语言:java
复制
List<String> unshardedCollections = mongoTemplate.collections();
  1. 查询指定集合的分片信息
代码语言:java
复制
List<ShardInfo> shardInfos = mongoTemplate.shardInfo();
  1. 指定集合分片
代码语言:java
复制
mongoTemplate.changeShardCollection(collectionName);
  1. 删除分片
代码语言:java
复制
mongoTemplate.removeShardCollection(collectionName);
  1. 查询所有未分片的集合
代码语言:java
复制
List<String> unshardedCollections = mongoTemplate.collections();
  1. 查询指定集合的分片信息
代码语言:java
复制
List<ShardInfo> shardInfos = mongoTemplate.shardInfo();
  1. 指定集合分片
代码语言:java
复制
mongoTemplate.changeShardCollection(collectionName);
  1. 删除分片
代码语言:java
复制
mongoTemplate.removeShardCollection(collectionName);
  1. 查询所有未分片的集合
代码语言:java
复制
List<String> unshardedCollections = mongoTemplate.collections();
  1. 查询指定集合的分片信息
代码语言:java
复制
List<ShardInfo> shardInfos = mongoTemplate.shardInfo();
  1. 指定集合分片
代码语言:java
复制
mongoTemplate.changeShardCollection(collectionName);
  1. 删除分片
代码语言:java
复制
mongoTemplate.removeShardCollection(collectionName);
  1. 查询所有未分片的集合
代码语言:java
复制
List<String> unshardedCollections = mongoTemplate.collections();
  1. 查询指定集合的分片信息
代码语言:java
复制
List<ShardInfo> shardInfos = mongoTemplate.shardInfo();

3

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

spring data jpa 扩展Repository踩到坑(为了解决jpa分页性能问题

Spring Data JPA JPQL 中 @Query 默认不能使用 limit函数,如果要用请使用 `nativeQuery` 扩展Repository实现类一定要同名+Impl,如果修改这个配置自行百度...FollowFunsBean> findFollowsByMemCard(String memCard, Calendar subscibeTime, Pageable page); } 该类使用原生jpa...实现分页,在表数据过大时候,分页过慢,这时候通过扩展接口实现方法来重新定义分页实现 新增扩展接口 public interface SubscriptionWriterDaoEx { Page findFollowsByMemCard(String memCard, Calendar subscibeTime, Pageable page); } 原接口(待扩展)...修改,SubscriptionWriterDao继承 SubscriptionWriterDaoEx接口,同时删除本接口findFollowsByMemCard 方法 新增接口实现类 public

1.6K10
  • MongoDB从入门到“精通”之整合JavaWeb项目

    开始开始,我们也无须了解更加深入。重点是要整合到项目中去,在实践中发现问题,追踪问题,然后解决问题。...Spring Data for MongoDB核心功能是映射POJO到MongoDBCollection中文档,并且提供Repository 风格数据访问层。...支持 编程风格 Spring Data Repository 风格 Spring Data提供了repository 抽象方式,可以极大减少数据访问层千篇一律类似的重复代码。...Spring Data提供了简化方法,通过接口定义 Spring Data通过Proxy自动提供具体实现。...MongoTemplate方式 Spring Data for MongoDB还提供了另外一种方式, 类似JdbcTemplate方式。 这种方式你可以自己定义你repository编程方式。

    1.7K50

    MongoDB系列三(Spring集成方案).

    Spring Data MongoDB提供了三种方式在Spring应用中使用MongoDB: 通过注解实现对象-文档映射; 使用MongoTemplate实现基于模板数据库访问; 自动化运行时Repository...同时,我们还需要有一个MongoTemplate bean,实现基于模板数据库访问。此外,不是必须,但是强烈推荐启用Spring Data MongoDB自动化Repository生成功能。...四、MongoDB Repository     Spring Data JPA Repository 有一个神奇功能 —— 创建一个接口,我们只要按照一定命名规则编写接口方法Spring...我们已经通过@EnableMongoRepositories注解启用了Spring Data MongoDBRepository功能(或者通过xml配置方式),接下来需要做就是创建一个接口,Repository...比如我们前面要查询一个文档,很自然写了一个Query条件用来查询。但是我们现在不用了,定义一个接口方法就可以了!连实现都不用!因为 Spring Data JPA 能够自动创建接口实现。

    3.6K70

    MongoDBSpring配置使用

    Spring-data对MongoDB进行了很好支持,接下来就讲解一下关于Spring对MongoDB配置和一些正常使用 我下面的工程使用SpringJava配置方式和Maven构建 ①MongoDB...第二个参数是带有@Id注解属性类型 OrderRepository继承了MongoRepository中很多自带方法 方法 描述 long count() 返回指定Repository类型文档数量...,则返回true ListfindAll() 返回指定Repository类型所有文档 ListfindAll(Iterable) 返回指定文档ID对应所有文档 ListfindAll(Pageable...) 为指定Repository类型,返回分页且排序文档列表 ListfindAll(Sort) 为指定Repository类型,返回排序后所有文档列表 T findOne(ID) 为指定ID返回单个文档...Save(terable) 保存指定Iterable中所有文档 save() 为给定对象保存一条文档 上面的我们定义四个方法都是我们自定义方法,其方法名存在很多意义,不能随便定义 List<

    1.8K20

    Spring JPA 存储库接口定义

    ,即选择性exposed,UserRepository是自定义接口 ​ 在前面的示例中,您为所有域存储库定义了一个通用基本接口,并公开了findById(…)和save(…)。...这些方法被路由到Spring Data提供您选择存储基本存储库实现中(例如,如果您使用JPA,则实现是SimpleJpaRepository),因为它们与CrudRepository中方法签名匹配...findById 是 CrudRepository提供方法 ,findByEmailAddress是自定暴露方法 将存储库和多个Spring Data 模块一起使用 ​ 在你应用中使用一个唯一...Spring Data模块会使事情变得简单,因为定义范围内所有存储库接口都会绑定到Spring Data模块。...有时,应用需要使用不只一个Spring Data模块。在这种情况下,存储库必须进行持久性技术区分。当它在类路径上检测到多个存储库工厂方法时,Spring数据进入严格存储库配置模式。

    2.4K10

    MongoDB 3.4 - 复制集、鉴权、主从同步以及读写分离

    安装MongoDB 1、这里采用是yum源方式安装,所以需要先添加yum源 vim /etc/yum.repos.d/mongodb-org-3.4.repo 2、输入以下内容并保存,如果yum源无效...[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org...); # 查询 db.testCol.find(); 如果有数据,则证明同步成功 实现master自动切换 MongoDB复制集是有mater自动切换机制,当集群中master出现问题时候,会由剩下机器进行投票重新选举出.../data/mongo/spring-mongo.xsd http://www.springframework.org/schema/tx http://www.springframework.org...配置后开启MongoDB日志,然后启动项目,并执行MongoDB响应写入和读取操作,观察日志打印,就可以验证读写分离是否成功,是不是很简单呢。Spring东西还是蛮强大

    1.2K20

    CentOS 6 使用 yum 安装MongoDB及服务器端配置

    安装MongoDB方法有很多种,可以源代码安装,在Centos也可以用yum源安装方法。由于MongoDB更新得比较快,我比较喜欢用yum源安装方法。...64位Centos下安装步骤如下: 1、准备工作 运行yum命令查看MongoDB包信息 [root@localhost~]# yum info mongo-10gen (提示没有相关匹配信息,)...说明你centos系统中yum源不包含MongoDB相关资源,所以要在使用yum命令安装MongoDB前需要增加yum源,也就是在 /etc/yum.repos.d/目录中增加 *.repo yum...源配置文件 2、vi /etc/yum.repos.d/10gen.repo,输入下面的语句: [10gen]  name=10gen Repository  baseurl=http://downloads-distro.mongodb.org.../repo/redhat/os/x86_64  gpgcheck=0  做好yum源配置后,如果配置正确执行下面的命令便可以查询MongoDB相关信息:  查看mongoDB服务器包信息 [root

    1K70

    CentOS 6 使用 yum 安装MongoDB及服务器端配置

    安装MongoDB方法有很多种,可以源代码安装,在Centos也可以用yum源安装方法。由于MongoDB更新得比较快,我比较喜欢用yum源安装方法。...64位Centos下安装步骤如下: 1、准备工作 运行yum命令查看MongoDB包信息 [root@localhost~]# yum info mongo-10gen (提示没有相关匹配信息,)...说明你centos系统中yum源不包含MongoDB相关资源,所以要在使用yum命令安装MongoDB前需要增加yum源,也就是在 /etc/yum.repos.d/目录中增加 *.repo yum...源配置文件 2、vi /etc/yum.repos.d/10gen.repo,输入下面的语句: [10gen]  name=10gen Repository  baseurl=http://downloads-distro.mongodb.org.../repo/redhat/os/x86_64 gpgcheck=0 做好yum源配置后,如果配置正确执行下面的命令便可以查询MongoDB相关信息:  查看mongoDB服务器包信息 [

    1.2K90
    领券