当前位置: 首页 > 知识库问答 >
问题:

如何使用spring data mongodb存储库查询注释进行更新

鲁斯伯
2023-03-14

我使用mongob作为java应用程序,并试图使用Spring数据存储库来更新文档。我使用@Query注释如下:@Query("{'username':?0 }, { $set:{'age':?1}}")无效updateAgeByUserName(String username, int age);

但这不管用。我知道保存将更新整个内容,但我只想使用更新查询更新年龄字段。我该怎么做?

感谢任何帮助。

共有1个答案

缪成天
2023-03-14

Spring数据是一个通用框架,为CRUD操作提供了非常基本的支持。如果需要复杂的操作,比如使用任何$operator进行更新,则需要为其实现一个自定义存储库。

 类似资料:
  • 我有两个表ABC和XYZ,deviceId(ABC中的PK)作为外键。如果我想要执行如下所示的更新查询,我如何使用spring data JPA repo方法--updateDeviceType(在ABC表中), 错误是由以下原因引起的:org.hibernate.hql.internal.ast.QuerySyntaxException:应为“set”,但在第1行第45列附近发现了“,”

  • 我使用的是spring数据MongoDB。我想使用我的存储库中的注释来查找数据模型对象的列表,该列表使用的ID是criteria对象中的一个字段,它嵌套在数据模型对象中。 此外,希望只获取指定日期范围之间的文档,以及返回到指定限制的记录数量的限制。感谢任何帮助,谢谢。 }

  • 问题内容: 我想通过注释@Query通过Jpa存储库进行Join查询。我有三个表。 本机查询是: 现在我有了Table Hibernate实体,所以我在ApplicationRepository中尝试过 日志说 意外的标记 有什么想法吗? 我的表实体 Application.java: Customer.java: User.java: 问题答案: 您不需要JPA中的ON子句,因为借助映射注释,J

  • 问题内容: 我想使用带有注释@Query的Jpa存储库进行Join查询。 我有两个表: 和: 本机查询是: 现在我有一个表休眠实体用户和区域 所以我尝试了UserRespository 日志说: 意外的标记: 有什么主意吗? 我的表实体 问题答案: 您遇到此问题的原因有两个。 JPQL查询无效。 您尚未在基础JPQL查询可以利用的实体之间创建关联。 在JPQL中执行联接时,必须确保尝试联接的实体之

  • 问题内容: 我有一个简单的问题:假设有一个查询如下的站点: 。 有什么办法可以在数据库(MySQL)中更新/删除某些内容?到现在为止,我还从未见过能够使用 SELECT查询 删除/更新的注入,所以,甚至有可能吗? 问题答案: 如果您说使用了不支持多个查询的内容,则不能直接添加/ / ,但是在某些情况下可以修改数据。例如,假设您具有以下功能 现在您可以在以下位置调用此函数: (--始终为NULL(F

  • 本机查询为: 现在我有了表Hibernate实体,所以我在ApplicationRepository中尝试了 日志上说