我在一个mongo集合中编写了两个类,例如One和Two。在这些类中,我有一个someId字段。然后,我想获取所有具有指定someId的One对象。我创建了一个方法:
Page<One> findBySomeId(String id, Pageable pageable);
但是出现错误:
org.springframework.data.mapping.model.MappingInstantiationException:无法实例化...
如我所见,mongo同时获取一个和两个对象,然后尝试根据它们创建一个对象。 我试着写下:
Page<One> findOneBySomeId(String id, Pageable pageable);
,并得到相同的错误。如何编写适当的方法以仅使用Spring数据从mongo DB中检索指定的对象?
答案 0 :(得分:2)
您的查询应该是这样
module.exports = {
'@disabled': true, // This will prevent the test module from running.
'Not running this PAR': function (browser) {
// > your code here <
}
};
答案 1 :(得分:0)
您应该通过指定区分One
和Two
的内容来限制查询。例如,您可以根据以下条件进行过滤:
_type
字段会自动保留,该字段等于完全限定的类名(除非提供@TypeAlias
,只要您设置了它即可)One
文档(Page<One> findBySomeIdAndPropertyExistsTrue(String id, Pageable pageable)
)中存在答案 2 :(得分:0)
对于Spring Data,您可以使用以下语法:
One findFirstBySomeId(String someId);
这里是有关spring数据的文档(4.4.5。限制查询结果),在其中找到说明和示例:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#reference