mongodb find 和findone都查询不到数据

zhouyusunquan 2015-10-08 10:07:20
// TODO Auto-generated method stub
// Query query=new Query();
// Criteria criteria=new Criteria();
// for (String key : map.keySet()) {
// criteria.where(key).is(map.get(key));
// }
// return mongoTemplate.findOne(query,clazz);



Query query = new Query();
Criteria criteria = new Criteria();
criteria.where("loginname").is(map.get("loginname"));
query.addCriteria(criteria);
List<T> list=mongoTemplate.find(query,clazz);
if(list==null||list.size()==0){
return null;
}else{
return list.get(0);
}

数据都是空的
...全文
2434 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
七月拾酒 2021-07-15
  • 打赏
  • 举报
回复

楼主这个问题怎么解决的 我今天也遇到这个问题了

Sunnnnnnny_ 2019-04-17
  • 打赏
  • 举报
回复
mongoTemplate.find(query, Picture.class,"job_device_data");
Sunnnnnnny_ 2019-04-17
  • 打赏
  • 举报
回复 1
指定一下查询的Collection,用mongoTemplate.findOne(query, User.class,"collection_name");应该可以的
xwn_2016 2017-06-15
  • 打赏
  • 举报
回复
public User findOneByUsername(String username) {  
        Query query = new Query();  
        Criteria criteria = Criteria.where("username").is(username);  
        query.addCriteria(criteria);  
        return this.mongoTemplate.findOne(query, User.class);  
    } 
和你的区别在 criteria的使用上,我这个可以查出结果,你不妨试一下
点滴寸土 2017-06-14
  • 打赏
  • 举报
回复
可以先在MongoDB里直接用脚本查试试
G-Sheep 2017-06-13
  • 打赏
  • 举报
回复
楼主找到问题了吗?我也遇到这个问题了,不知道什么情况

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧