问题标签 [mongorepository]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring - MongoRepository 比较了两列 + Spring Data
我想使用 mongorepository + spring 数据(HQL 或条件查询)比较两列值来执行查询。我正在向您展示关系查询,我想转换为 mongo。
Select * from Employee em where em.limit < em.age
我想使用 Spring 数据将上述查询转换为 HQL 查询。
mongodb - MongoRepository 动态查询
我有以下问题。假设我有以下模型对象:
在属性映射中,您可以插入任何类型的属性,没有约束。
上面的对象保存在一个 MongoDB 中,如下所示:
当一个人被保存到存储库中时,Map<String, String> properties
它会变平。例如,如果我们有以下对象:
保存在 MongoRepository 中的文档如下:
现在我的问题是我必须根据(例如)寻找对象,如果它们具有特定的属性。假设我想要所有已定义年龄属性的人。一个重要的附加要求是我应该返回一个分页结果。
我试过使用
但这由于某种原因不起作用。我怀疑这是我的模型对象和 MongoDB 文档具有不同结构的事实。
我也尝试过 QueryDsl (这里有一个例子:http ://www.baeldung.com/queries-in-spring-data-mongodb )但也没有成功,对我来说这个解决方案也不是优雅(必须维护生成的类等。我也有一种感觉,因为我的Map<String, String> properties
对象成员,它不会工作)。
我想到的另一个足够优雅的解决方案是具有以下功能:
在这种情况下,我将能够手动构建查询,而不必对运行搜索所用的键进行硬编码。我现在的问题是,如何将查询值设置为我的第一个参数?使用上面显示的示例,我收到以下错误
另一种解决方案是使用mongoTemplate
和查询给定Criteria
的一些内容,如下例所示:
此解决方案的问题在于它返回对象列表而不是分页结果。如果我添加它,它还会返回一个特定的页面,query.with(new PageRequest(3, 2));
但在这种情况下,我无法手动构造“分页”结果,因为我不知道元素的总数。
您还有其他可以帮助我的想法吗?
提前致谢!
mongodb - 查找第一个结果(QueryDsl,Mongodb)
使用 MongoDB,我们有两种方法可以对我们的存储库进行请求:
- 查询方法:
findOneByUsernameAndType...
- Querydsl 方法允许我们传递条件并检索结果列表。
当我做 afindOneBy
时,我检索与请求对应的第一个文档,即使有很多结果。
但是我有一个复杂的查询,所以我不能使用这个方法,因为它的名字太长了,我不能做我想做的事。
所以我想对查询 dsl 做同样的事情:
使用标准具有 3 个属性的 DTO。
问题是如果有超过 1 个结果,这会findOne
抛出异常而不是返回第一个结果。
如何使用 Querydsl 做到这一点?
spring - MongoDB和Spring Boot中的DBRef匹配标准
类车{
在上面的示例中,我想在一个查询中根据用户名和汽车型号搜索用户。
例如,搜索所有拥有汽车型号 ABC 且用户名为 Sachin 的用户。
尝试了上述查询,但崩溃了。
spring - 如果属性为空,则使用正则表达式进行 MongoDB 查询
我有一个查询要按客户名称、电子邮件和电话过滤订单
它有效,但只选择所有搜索字段都不为空的订单。如何更改查询以获得更多订单?
在 SQL 中,它类似于:
mongodb - 使用 Spring Data MongoDB 的 Rest API - 存储库方法不起作用
我正在使用 MongoDB 阅读和学习 Spring Boot 数据。我的数据库中有大约 10 条记录,格式如下:
当我打开网址时:
我得到了所有项目的详尽清单。但是,我想使用MongoRepository
诸如findById
等的方法count
。当我这样使用它们时:
我得到一个404。
我的设置是这样的:
我究竟做错了什么?我需要实现由定义的方法MongoRepository
还是会自动实现?我迷路了,长期以来一直试图弄清楚这一点。我的控制器中没有任何方法,它是空的。
spring - 我应该如何使用 spring mongo 存储库从 mongo db 获取数据?
我在我的 Spring Boot 应用程序中使用 mongodb,我正在使用 mongo 存储库接口从数据库中获取数据,这就是我获取数据的方式。
这将给我学校对象,然后我可以从那里获取所有数据,但我的问题是,如果我每次需要来自该对象的一些数据时都获取整个对象,即使我需要一些字段,它是否会影响我的应用程序的性能。如果是这样,我搜索的方法是什么,我看到使用查询注释我可以限制字段,但即使这样它也会给整个对象它把所有其他字段都设置为空,并且数据只在我指定的字段中。任何指导都会有所帮助。
java - 自定义 MongoDB Spring 数据存储库
我想用 Spring 数据 mongodb 实现自定义 repo。应用程序.java:
我的自定义存储库 CustomerRepositoryCustom.java
自定义实现CustomCustomerRepositoryImpl.java
代码结构
当我尝试构建它时,我收到一个错误:
java - 在 Spring 中解析 MongoRepository 的变量名
_
MongoRepository中变量的正确方法名称是什么。
历史.java
HistoryRepository.java
我得到了以下异常
我尝试了以下变量选项,但这些都不起作用。
spring-data - SpringData MongoRepository Count 和 Where 子句组合
我正在使用 MongoDb 和 SpringData MongoRepository .. 我想获取接收者用户 = 的计数消息?和消息阅读=?...简而言之,我想获取用户未读的消息。我的方法是这样的..但我不知道如何做到这一点..消息是我的 mongo 文档..谢谢。