ID采用以下格式
"_id" : NumberLong("502434721406525440"),
我尝试执行mongo的findOne方法来检索具有所需id的项目。但是,我无法使用以下代码进行管理。
@Autowired
private MyItemRepository myRepo;
public MyItem getItemById(String itemId) {
return myRepo.findOne(itemId);
}
和MyItem类如下:
public class MyItem{
@Id
private final long itemId;
//and some other fields
//and getter methods
}
我的存储库如下:
public interface MyItemRepository extends
PagingAndSortingRepository<MyItem, String> {
}
提前感谢。
答案 0 :(得分:1)
覆盖findOne方法解决了我的问题。我可以帮助任何有同样问题的人。
mongoTemplate.findOne(
Query.query(Criteria.where("itemId").is(Long.decode(itemId))),
MyItem.class, collectionName);