我正在对包含以下文档的集合使用spring-data-mongodb存储库:
{"_id" : ObjectId("5411619148e28887be66c02b"), "userId" : { "name" : "something", "alias":"asdasdfasfd" }}
以及一些与问题无关的字段。嵌入的userId对象可能只有名称,只有别名或两者。我希望在Repository中有一个方法可以根据输入参数按名称或别名进行搜索。我还没有找到基于名称创建自动查询的方法,所以我尝试使用@Query注释,如下所示:
@Query(value="{'userId.?1': ?2}")
List<User> findUser(String type, String id);
但是类型被插入到带有引号的查询中,因此查询不起作用。有没有办法在不使用两个方法的情况下执行此操作:findByUserIdName和findByUserIdAlias,还是自定义实现?