我正在查询具有嵌套对象的集合。域模型如下所示:
@Document(collection="a")
public class A {
protected Map<String, B> fields;
protected String uuid;
protected Date updatedTs;
//Getters and setters and other fields omitted
}
public class B{
protected String c;
protected String d;
}
我正在使用如下所示的条件进行查询:
{ "uuid" : "9DA291A4-1BAB-4B9C-844D-681C3F1ABF6E"}
Criteria.where("uuid").is(uuid);
log.debug("Criteria: " + SerializationUtils.serializeToJsonSafely(c.getCriteriaObject()));
{ "uuid" : "9DA291A4-1BAB-4B9C-844D-681C3F1ABF6E"} fields: null
同时,我还在研究如何解决这个问题,因为我不能改变文档结构...
您在日志输出中看到的fields
与您的域对象无关。它被放置在JSON字符串的外部,这就表明了这一点。fields
在本例中是指为找到的每个文档返回的字段,这本质上是一种投影机制。
我使用的是Spring Boot+MongoDB。我需要根据一些条件查询数据库,我的方法如下所示: org.bson.bsonmaximumsizeExprocededException:文档大小46282052大于最大值16793600 有人能帮我做这个吗?
我想使用条件查询。 这是我的问题 这是我的java代码 它给出
我需要将这个sql查询转换为hibernate条件,请大家帮忙。 按名称顺序按应用描述限制3从设备组中选择名称,计数(*)为应用
我正在尝试将下面的嵌套查询转换为Hibernate Criteria,但无法做到。实际上,尝试对结果集中的行进行计数和求和。 有人有什么想法吗? 提前谢谢。 下面是为上述查询编写的标准, > 对于select main query, 对于内部查询填充结果集并传递给主查询, 但如何将这个子查询传递给主查询还不清楚。
我正在尝试从MongoDB中的嵌入字段数组中移除一个项。数组是类似下面的字符串类型。