当我对db
执行请求时db.users.find({"name": "Max"})
我得到了这个结果
{"_id":ObjectId("5785718ee271a7c7ebaad28b"),"name":"Max","visits-by-day":[{"day":"Thursday","visitsAmount":20},{"day":"Saturday","visitsAmount":4}]}
JSON结构示例:
{
"users": [
{
"name": "Bobby",
"visits-by-day": [
{
"day": "Sunday",
"visitsAmount": 8
},
{
"day": "Monday",
"visitsAmount": 3
}
]
}
]
}
这是我的Java代码
MongoUser user = mongoTemplate.findOne(query(where("name").is("Max")), MongoUser.class);
模型
@Document
public class MongoUser {
@Id
private String id;
private String name;
private List<VisitsPerDay> visitsByDay;
// Getters & Setters omitted
}
public class VisitsPerDay {
private String day;
private Integer visitsAmount;
// Getters & Setters omitted
}
为什么Spring确实返回null空而不是序列化的Java对象?
答案 0 :(得分:2)
默认情况下,查询给定类型的集合是从您要读取的域类型的简单名称派生的。在您的情况下,那将是Bitmap bmp = BitmapFactory.decodeByteArray(result, 0, bytesRead);
。为了让你的例子有效,你基本上有两个选择:
mongoUser
至collectionName
的{{1}}注释中的@Document
。这将基本上将该类的实例绑定到该集合,并让该类的所有数据访问操作与该集合一起使用(例如,对于存储库等)。调用MongoUser
时,请使用带有显式集合名称的users
重载:
MongoTemplate