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

从spring boot应用程序中的mongo db获取数据,其中集合名称和要获取的字段在运行时是已知的。

从spring boot应用程序中的mongo db获取数据,其中集合名称和要获取的字段在运行时是已知的,可以通过使用Spring Data MongoDB来实现。

首先,确保在项目的pom.xml文件中添加了Spring Data MongoDB的依赖:

代码语言:txt
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

接下来,创建一个MongoDB的实体类,用于映射集合中的文档数据。例如,假设我们有一个集合名为"users",包含字段"id"和"name",可以创建如下实体类:

代码语言:txt
复制
@Document(collection = "users")
public class User {
    @Id
    private String id;
    private String name;

    // 省略构造函数、getter和setter方法
}

然后,创建一个继承自MongoRepository的接口,用于定义对MongoDB的操作。在该接口中,可以使用@Query注解来定义查询方法,以获取指定字段的数据。例如,假设要根据集合名称和字段名称获取数据,可以定义如下方法:

代码语言:txt
复制
public interface UserRepository extends MongoRepository<User, String> {
    @Query(value = "{ 'name' : ?0 }", fields = "{ ?1 : 1 }")
    List<User> findByFieldName(String collectionName, String fieldName);
}

在上述方法中,使用@Query注解指定了查询条件和返回字段。其中,"?0"表示方法参数中的第一个参数,即集合名称;"?1"表示方法参数中的第二个参数,即要获取的字段名称。

最后,在需要使用MongoDB的地方,注入UserRepository,并调用相应的方法即可获取数据。例如:

代码语言:txt
复制
@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    public List<User> getUsersByFieldName(String collectionName, String fieldName) {
        return userRepository.findByFieldName(collectionName, fieldName);
    }
}

以上就是从spring boot应用程序中的mongo db获取数据的基本步骤。通过使用Spring Data MongoDB,我们可以方便地进行MongoDB的操作,并根据运行时已知的集合名称和字段名称来获取数据。

推荐的腾讯云相关产品:腾讯云数据库 MongoDB,详情请参考腾讯云数据库 MongoDB

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

相关·内容

全面学习MongoDB,在Spring Boot项目中整合 MongoDB

MongoDB本地复制自动故障转移功能使应用程序具有企业级可靠性操作灵活性。 1.2 MongoDB特点 MongoDB 一个面向文档存储数据库,操作起来比较简单容易。...集合名称") # 删除集合 db.集合名称.drop() # 删除数据db.dropDatabase() //首先要通过use切换到当前数据库 MongoDB没有创建数据命令,提供了use 命令切换数据库... -1 来指定排序方式,其中 1 为升序排列,而 -1 用于降序排列。...所以,在Spring Boot操作mongodb操作其他数据库基本是一样。...spring-boot-starter-data-mongodb 核心功能映射 POJO 到 MongoDBCollection 文档,并且提供 Repository 风格数据访问层。

8.4K20

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

Spring Data MongoDB提供了三种方式在Spring应用中使用MongoDB: 通过注解实现对象-文档映射; 使用MongoTemplate实现基于模板数据库访问; 自动化行时Repository...@Document - 用于类,以表示这个类需要映射到数据库,您也可以指定映射到数据集合名称 @Id - 用于字段级别,标记这个字段一个主键,默认生成名称是“_id” @DBRef - 用于字段...- 用于字段,标记该字段包含在文本索引 @Field - 用于字段,并描述字段名称,因为它将在MongoDB BSON文档中表示,允许名称与该类字段名不同。...文档获取Order集合 * @param customer * @param type * @return */ List findByCustomerAndType...(String customer, String type); /** * 根据customer type 文档获取Order集合(customer 在对比时候使用like

3.6K70

Spring Cloud Kubernetes 指南

开发一个微服务架构示例,其中两个独立Spring Boot应用程序通过REST进行通信。 使用Minikube在单节点集群上设置应用程序。 使用YAML配置文件部署应用程序。...在微服务环境,通常有多个pod运行相同服务。Kubernetes将服务公开为一组端点,可以运行在同一Kubernetes集群podSpring Boot应用程序获取访问这些端点。...或者,如果我们共享信息敏感,那么我们应该选择使用Secrets。 在我们示例,我们在客户端服务 Spring Boot应用程序上使用ConfigMaps 。...password 默认情况下,mongo:latest映像将在名为admin数据库上创建具有用户名密码用户。...特别是,Kubernetes健康指标提供: pod名称 IP地址 命名空间 服务帐户 节点名称 一个标志,指示Spring Boot应用程序Kubernetes内部还是外部 9.结论 在本文中,我们提供了

1.4K20

Spring Cloud Kubernetes 指南

开发一个微服务架构示例,其中两个独立Spring Boot应用程序通过REST进行通信。 使用Minikube在单节点集群上设置应用程序。 使用YAML配置文件部署应用程序。...在微服务环境,通常有多个pod运行相同服务。Kubernetes将服务公开为一组端点,可以运行在同一Kubernetes集群podSpring Boot应用程序获取访问这些端点。...或者,如果我们共享信息敏感,那么我们应该选择使用Secrets。 在我们示例,我们在客户端服务 Spring Boot应用程序上使用ConfigMaps 。...password 默认情况下,mongo:latest映像将在名为admin数据库上创建具有用户名密码用户。...特别是,Kubernetes健康指标提供: pod名称 IP地址 命名空间 服务帐户 节点名称 一个标志,指示Spring Boot应用程序Kubernetes内部还是外部 9.结论 在本文中,我们提供了

2.6K10

4.0.3mongodb 安装java使用

三 使用 1.启动后台shell, mongo  第一次这样,他提示你加个密码 ?...role: "root", db: "admin" } ] //权限 } ) ps. user文档字段介绍: user字段,为新用户名字; pwd字段,用户密码; cusomData...而我直接官网高最新版本,这个bug就修复了。...但实际数据存在硬盘,mmap方式可以说是索引在内存。 持久化方式: mongodb所有数据实际上存放在硬盘,所有操作数据通过mmap方式映射到内存某个区域内。...redis: 它就是一个不折不扣内存数据库了。 持久化方式: redis所有数据都是放在内存,持久化使用RDB方式或者aof方式。 mysql: 无论数据还是索引都存放在硬盘

98220

Spring认证中国教育管理中心-Spring Data MongoDB教程九

在处理DBRef实例时,尤其延迟加载实例时,在加载所有数据之前不要关闭实例很重要ClientSession。否则,延迟获取失败。...MongoTemplate在运行时 更改状态(您可能认为在前面清单第 1 项可能)会导致线程可见性问题。...映射器针对标准 POJO 对象工作,无需任何额外数据(尽管您可以选择提供该信息。请参阅此处。)。 约定用于处理 ID 字段,将其转换为ObjectId存储在数据时间。...如果构造函数参数名称与存储文档字段名称匹配,则它们用于实例化对象 有一个包含多个示例GitHub 存储库,您可以下载并试用这些示例,以了解该库工作原理。...Spring DAO 支持特性@Repository描述了这种层次结构使用。

1.9K20

尚医通-MongoDB

,在mongodb基本概念文档、集合数据库,下面我们挨个介绍。...集合存在于数据集合没有固定结构,这意味着你在对集合可以插入不同格式类型数据,但通常情况下我们插入集合数据都会有一定关联性。...,sort() 方法可以通过参数指定排序字段,并使用 1 -1 来指定排序方式,其中 1 为升序排列,而 -1 用于降序排列。...索引特殊数据结构,索引存储在一个易于遍历读取数据集合,索引数据库表中一列或多列值进行排序一种结构。...>db.User.createIndex({"name":1}) 语法 name值为你创建索引字段,1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1 即可 # SpringBoot

4K30

【探花交友】day03—MongoDB基础

主要由: 文档(document)、集合(collection)、数据库(database)这三部分组成。逻辑结构面 向用户,用户使用 MongoDB 开发应用程序使用就是逻辑结构。.../说明 database database 数据库 table collection 数据库表/集合 row document 表一条数据 column field 数据字段/域 index index...如果 将非utf-字符保存到数据,二进制数据唯一方式。...#删除数据库 > use testdb #先切换到删除数据 > db.dropDatabase() #删除数据库 2.2、新增数据 在MongoDB,存储文档结构一种类似于json结构...索引特殊数据结构,索引存储在一个易于遍历读取数据集合,索引数据库表中一列或多列值进行排序一种结构 #创建索引 > db.user.createIndex({'age':1}) #查看索引

3.1K20

mongodb笔记

MongoDB记录一个文档,它是一个由字段值对(field:value)组成数据结构。MongoDB文档类似于JSON对象,即一个文档认为就是一个对象。...数据库操作 选择创建数据库 选择创建数据语法格式: use 数据名称 简介 Mongo一个基于分布式文件存储Nosql数据库。...sort(JSON数据) 说明:键-就是排序列/字段,值:1升序 -1降序 使用:对年龄进行降序排序 db.c2.find().sort({age:-1}) 分页 语法:db.集合名.find()....语法: db.集合名称.aggregate([ {管道:{表达式}} .... ]) 常用管道: $group 将集合文档分组,用于统计结果 $match 过滤数据,只要输出符合条件文档...unique boolean 当值为true,片键字段上会限制为确保唯一索引,哈希策略片键不支持唯一索引,默认为false 例如在articled库comment集合,以nickname为键,

1.3K10

【探花交友】学习MongoDB快速入门上手

主要由: 文档(document)、集合(collection)、数据库(database)这三部分组成。逻辑结构面 向用户,用户使用 MongoDB 开发应用程序使用就是逻辑结构。.../说明 database database 数据库 table collection 数据库表/集合 row document 表一条数据 column field 数据字段/域 index index...如果 将非utf-字符保存到数据,二进制数据唯一方式。...#删除数据库 > use testdb #先切换到删除数据 ​ > db.dropDatabase()  #删除数据库 ​ ​ 2.2、新增数据 在MongoDB,存储文档结构一种类似于json...索引特殊数据结构,索引存储在一个易于遍历读取数据集合,索引数据库表中一列或多列值进行排序一种结构 #创建索引 > db.user.createIndex({'age':1}) ​ #查看索引

3.4K30

MongoDB

文档值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入文档)。 MongoDB 区分类型大小写。 MongoDB 文档不能有重复键。 文档字符串。...集合存在于数据集合没有固定结构,这意味着你在对集合可以插入不同格式类型数据,但通常情况下我们插入集合数据都会有一定关联性。...中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序字段,并使用 1 -1 来指定排序方式,其中 1 为升序排列,而 -1 用于降序排列。...索引特殊数据结构,索引存储在一个易于遍历读取数据集合,索引数据库表中一列或多列值进行排序一种结构。...> db.User.createIndex({"name":1}) 语法 name 值为你创建索引字段,1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1 即可 五、Spring boot

4.6K20

Spring boot(2)-配置详解

可能在应用最开始时候,嵌入式内存数据库(如 HSQLDB)就足够了,在后期则需要换成 MySQL 等数据库。Spring Boot 使得这样切换变得很简单。...Spring 3.1 引入了新环境(Environment)概要信息(Profile)API,一种更加灵活处理不同环境配置文件方式。...比如命令行参数优先级被设置为最高。这样好处可以在测试或生产环境快速地修改配置参数值,而不需要重新打包部署应用。...")”注解,配置属性以“db”为前缀属性值会被自动绑定到 Java 类同名域上,如 url 域值会对应属性“db.url”值。...这个逻辑也体现了Spring Boot另外一个特性——自定义Bean优先于框架默认配置,我们如果显式在业务代码定义了一个Mongo对象,那么Spring Boot就不再创建。

1.4K20

Spring Boot (八)MyBatis + Docker + MongoDB 4.x

MongoDB能自动处理夸集群数据负载,自动重新分配文档,这样开发者就能集中精力编写应用程序,而不需要考虑如果扩展问题。...:https://hub.docker.com/,如要搜索软件“mongo”,选择官方镜像“Official”,点击详情,获取相应下载方法,我们得到下载MongoDB命令如下: docker.../名称> 查看运行容器:docker ps 查询所有的容器:docker ps -a 二、MyBatis集成MongoDB Spring Boot项目集成MyBatis前两篇文章已经做了详细介绍,这里就不做过多介绍...3.1 实现思路 MongoDB 实现id自增Spring Boot JPA类似,数据库创建一张表,来记录表“自增id”,只需要保证每次都增加id返回id原子性,就能保证id实现“自增”...collection = "IndexBuilder"数据集合名称,对应关系型数据表名。

1K20

Spring Boot Actuator监控使用详解

在实际软件开发还需要:应用程序监控管理。SpringBootActuator模块实现了应用监控与管理。...提供了非常丰富监控接口,可以通过这些接口了解应用程序行时内部状况。...GET /scheduledtasks 显示应用程序计划任务 GET /sessions 允许Spring会话支持会话存储检索删除(retrieval and deletion)用户会话。...原生端点 原生端点分为三大类: 应用配置类:获取应用程序中加载应用配置、环境变量、自动化配置报告等与Spring Boot应用密切相关配置类信息。...该报告内容将自动化配置内容分为两部分:positiveMatches返回条件匹配成功自动化配置negativeMatches返回条件匹配不成功自动化配置。

1.7K10

Spring认证中国教育管理中心-Spring Data MongoDB教程十三

此外,通过创建您自己实例,您可以注册 Spring 转换器以将特定类映射到数据库或数据库映射。...18.5.基于元数据映射 充分利用 Spring Data MongoDB 支持对象映射功能,您应该使用注释对映射对象进行@Document注释。...我们通常建议为基于应用程序索引控制显式创建索引,因为 Spring Data 无法为在应用程序行时重新创建集合自动创建索引。...resolver.resolveIndexFor(it.getType()).forEach(indexOps::ensureIndex); }); } } 或者,如果您想在任何组件能够应用程序访问您数据库之前确保索引集合存在...您可以指定将存储数据集合名称。 @DBRef:应用于该字段以指示将使用 com.mongodb.DBRef 存储它。

2.8K20

Spring认证中国教育管理中心-Spring Data MongoDB教程八

您可以通过调用该indexOps方法并传入集合名称或java.lang.Class实体来访问这些操作(集合名称派生自.class,通过名称或注释元数据)。...由于基于 Spring ApplicationContext事件基础设施,其他产品(例如 Spring Integration)能够轻松接收这些事件,因为它们基于 Spring 应用程序众所周知事件机制...映射到 Spring一致数据访问异常层次结构背后动机,您可以编写可移植描述性异常处理代码,而无需针对 MongoDB 错误代码进行编码。...查看实现以获取有关映射更多详细信息。 11.18.执行回调 所有 Spring 模板类一个共同设计特性所有功能都路由到模板execute回调方法之一。...它提供了静态工厂方法来封装默认元数据字段(例如whereFilename()whereContentType())或自定义元数据字段到whereMetaData()。

2K30

Springboot 整合 MongoDB

Springboot 整合 MongoDB 这节我们将整合 Spring BootMongo DB 实现增删改查功能,并且实现序列递增。...Mongo DB 基本介绍增删改查用法可以参考我之前文章:MongoDB 安装基本操作 新建一个 Spring Boot 项目,版本为 2.3.7.RELEASE,并引入如下依赖: <dependency...Mongo Shell 或者 Navicat 工具创建一个名称为 test 数据库,并新增 user 文档(文档,类似与关系型数据库里数据表):navicat 破解 在配置文件配置 mongo...创建 User 实体类: @Document("User")表示这是文档对象,名称为 User,对应 Mongo DB User 集合。...@Id标注主键字段,String 类型主键值在插入时候 Mongo DB 会帮我们自动生成。如果对象某个属性为非表字段,可以使用注解@Transient进行排除。

58210

springbootapplication运行机制_航空器运行阶段指什么

Spring Boot应用程序行时应用程序事件按以下顺序发送: ApplicationStartingEvent在运行开始时但在任何处理之前发送,侦听器初始化器注册除外。...Spring Boot内建事件监听器 在Spring Boot场景,无论Spring事件监听器还是Spring Boot事件监听器,均配置在META-INF/spring.factories资源,...其中合法选项选项前缀必须“–”,并且可以指定值,也可以不指定值。如果指定了一个值,则名称值必须用等号(“=”)分隔,不能有空格。...实例listeners字段,该字段ApplicationContextInitializer列表。...1.8.2.3、合并Spring应用上下文配置源 合并Spring应用上下文配置源操作由getAllSources()方法实现,该方法Spring Boot2.0开始引入,且较为复杂: private

58930
领券