簡體   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