json - Spring数据中的MongoDB查询以按键查找地图对象
问题描述
在我的 Spring 项目中,我想通过 map 的键从 MongoDB 获取一些 json 文档。
用户.json
{
"client-id": "1",
"parameters": {
"prod": {...},
"test": {...}
...
}
}
User.java(服务器是一个 Java 对象)
@org.springframework.data.mongodb.core.mapping.Document(collection = "user")
public class User {
@Field("client-id")
private String clientId;
@Field("parameters")
private Map<String, Server> parameters;
...
}
用户存储库.java
@Repository
public interface UserRepository extends MongoRepository<User, String>,
QuerydslPredicateExecutor<User> {
@Query("{'$and' : [{ 'client-id' : ?0 }, { 'parameters' : { ... } }]}")
List<User> findByParameterKey(String clientId, String parameterKey);
}
在@Query 中如何动态传递键名,并用键名填充 { 'parameters' : { ... } }?例如我想这样调用函数:
findByParameterKey("1", "prod");
解决方案
推荐阅读
- ios - 使用tabview更改选项卡时如何使SwiftUI中的计时器保持触发
- python - Python,我怎样才能从它的父元类访问子类?
- javascript - 函数不会从谷歌脚本的同一行推送项目
- python - 从二十一点游戏中获取全局变量
- python - 如何在我自己的函数中包含 ipywidgets 交互代码
- react-native - 如何在 react-navigation v5 中使用嵌套导航时编写类型定义
- elasticsearch - grok 不解析日志
- arrays - 给定这个数组数组,我如何计算其中包含重复元素的数组的数量?
- java - 增加数组大小而不通过反射重新创建它
- vue.js - 在Vue中使用点击事件(数据)将数据从子组件传递到父组件