繁体   English   中英

在mongo和spring boot中使用带有不确定模式的querydsl

[英]Using querydsl with undetermined schema with mongo and spring boot

我有以下映射:

@Document
class Event {
   Object carbonCopy; 
}

carbonCopy具有多个属性,并且其架构尚未确定-各种事件可以具有不同的属性集。 假设carbonCopy具有status字段。 我需要找到所有具有carbonCopy.status等于NEW Event 查询DSL是否可能,如何? 我正在努力将PathExpression实例的各种混合都徒劳无功。

如果还需要存在,则可以在终端中使用类似的方法,例如在终端db.events.find({"carbonCopy.status":"NEW"})中使用

db.events.find({carbonCopy.status:{"$exists":true}},"carbonCopy.status":"NEW"})

现在谈到SDM

Criteria criteria = Criteria.where("carbonCopy.status").is("NEW")

Query query = new Query(criteria);

return mongoTemplate.findOne(query, Event.class);

Criteria criteria = Criteria.where("carbonCopy.status").is("NEW").And("carbonCopy.status").exists(true) Query query = new Query(criteria); return mongoTemplate.findOne(query, Event.class);

以下代码段是可能的:

QEvent event = QEvent.event;

PathBuilder<Event> query = new PathBuilder<Event>(Event.class, "entity");
BooleanExpression expr = query.getMap("objectCarbonCopy", String.class, String.class).get("status").eq(Expressions.constant("NEW"));

其中QEvent是querydsl生成的类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM