Spring数据休息方法无法在DbRef Id字段上进行搜索

时间:2017-11-16 06:29:25

标签: java mongodb spring-boot spring-data-rest

我在我的appliation中使用mongodb和spring boot。在区域集合中,城市是DBRef,但是春天数据休息方法无法使用城市的ID进行搜索。它返回空的JSON,虽然对于那个城市我在我的数据库中有区域。我的区域集合和存储库如下所示。

while loop

其他集合中的同类关系是工作文件。

2 个答案:

答案 0 :(得分:1)

您可以添加@Query注释。

@Query("{ 'city': {'$ref': 'City', '$id': { '$oid': ?0 } } }")
List<Area> findByCityId(@Param(value = "cityId") String cityId);

或直接找到城市对象

City city = new City(cityId);
List<Area> findByCity(City city);

答案 1 :(得分:0)

您可以尝试按城市搜索

@Autowired 
private CityRepository cityRepository;

List<Area> findByCity(cityRepository.findByCityId(cityId));