具有长类型_id的java mongodb findOne
我的mongodb集合中的ID采用以下格式具有长类型_id的java mongodb findOne,java,mongodb,spring-data-mongodb,Java,Mongodb,Spring Data Mongodb,我的mongodb集合中的ID采用以下格式 "_id" : NumberLong("502434721406525440"), 我正在尝试执行mongo的findOne方法来检索具有所需id的项。但是,我无法使用以下代码段进行管理 @Autowired private MyItemRepository myRepo; public MyItem getItemById(String itemId) { return myRepo.findOne(itemId); } MyIte
"_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> {
}
我的存储库如下所示:
public class MyItem{
@Id
private final long itemId;
//and some other fields
//and getter methods
}
public interface MyItemRepository extends
PagingAndSortingRepository<MyItem, String> {
}
公共接口MyItemRepository扩展
分页和排序存储库{
}
提前感谢。重写findOne方法解决了我的问题。我可以帮助任何有同样问题的人
mongoTemplate.findOne(
Query.query(Criteria.where("itemId").is(Long.decode(itemId))),
MyItem.class, collectionName);
我认为这可能与字符串和数字类型有关