【发布时间】:2014-10-15 23:35:29
【问题描述】:
我在 MongoDB 中有一个集合,其中包含这样的项目:
{
"_id" : ObjectId("53e4d31d1f6b66e5163962e3c"),
"name" : "bob",
"nestedObject" : {
"_id" : ObjectId("53f5a623cb5e4c1ed4f6ce67")
//more fields...
}
}
此项目的 Java 表示如下:
public class SomeObject {
@Id
private String id;
private String name;
private NestedObject nestedObject;
//getters and setters
}
Repository 接口定义如下:
public interface SomeObjectRepository extends MongoRepository<SomeObject, String> {
public List<SomeObject> findByName(String name);
public List<SomeObject> findByNestedObjectId(String id);
//some other find functions
}
现在,findByName(String name) 正在正常工作,但 findByNestedObjectId(String id) 什么也没返回。
问题是:是否可以使用存储库接口通过其嵌套对象的属性找到集合项?如果没有,解决此问题的推荐方法是什么?是否可以不重新实现整个存储库?
【问题讨论】:
标签: java spring mongodb spring-data-mongodb