Using querydsl with undetermined schema with mongo and spring boot
I've the following mapping:
@Document
class Event {
Object carbonCopy;
}
carbonCopy
has several attributes and its schema is undetermined - various events can have different set of attributes. Assume that carbonCopy
has status
field. I need to find all Event
s that have carbonCopy.status
equal to NEW
. Is it possible with query DSL, how? I'm struggling with various mixes of Path
and Expression
instances to no avail.
java mongodb spring-boot spring-data-mongodb querydsl
add a comment |
I've the following mapping:
@Document
class Event {
Object carbonCopy;
}
carbonCopy
has several attributes and its schema is undetermined - various events can have different set of attributes. Assume that carbonCopy
has status
field. I need to find all Event
s that have carbonCopy.status
equal to NEW
. Is it possible with query DSL, how? I'm struggling with various mixes of Path
and Expression
instances to no avail.
java mongodb spring-boot spring-data-mongodb querydsl
Can you please look into below link may it help you. querydsl.com/static/querydsl/2.1.0/reference/html/ch02s07.html
– Raheela Aslam
Nov 20 '18 at 12:24
@RaheelaAslam have you checked the link before suggesting it? Is there any particular section I should pay attention to?
– Opal
Nov 20 '18 at 12:25
add a comment |
I've the following mapping:
@Document
class Event {
Object carbonCopy;
}
carbonCopy
has several attributes and its schema is undetermined - various events can have different set of attributes. Assume that carbonCopy
has status
field. I need to find all Event
s that have carbonCopy.status
equal to NEW
. Is it possible with query DSL, how? I'm struggling with various mixes of Path
and Expression
instances to no avail.
java mongodb spring-boot spring-data-mongodb querydsl
I've the following mapping:
@Document
class Event {
Object carbonCopy;
}
carbonCopy
has several attributes and its schema is undetermined - various events can have different set of attributes. Assume that carbonCopy
has status
field. I need to find all Event
s that have carbonCopy.status
equal to NEW
. Is it possible with query DSL, how? I'm struggling with various mixes of Path
and Expression
instances to no avail.
java mongodb spring-boot spring-data-mongodb querydsl
java mongodb spring-boot spring-data-mongodb querydsl
asked Nov 20 '18 at 12:20
Opal
52.4k20104117
52.4k20104117
Can you please look into below link may it help you. querydsl.com/static/querydsl/2.1.0/reference/html/ch02s07.html
– Raheela Aslam
Nov 20 '18 at 12:24
@RaheelaAslam have you checked the link before suggesting it? Is there any particular section I should pay attention to?
– Opal
Nov 20 '18 at 12:25
add a comment |
Can you please look into below link may it help you. querydsl.com/static/querydsl/2.1.0/reference/html/ch02s07.html
– Raheela Aslam
Nov 20 '18 at 12:24
@RaheelaAslam have you checked the link before suggesting it? Is there any particular section I should pay attention to?
– Opal
Nov 20 '18 at 12:25
Can you please look into below link may it help you. querydsl.com/static/querydsl/2.1.0/reference/html/ch02s07.html
– Raheela Aslam
Nov 20 '18 at 12:24
Can you please look into below link may it help you. querydsl.com/static/querydsl/2.1.0/reference/html/ch02s07.html
– Raheela Aslam
Nov 20 '18 at 12:24
@RaheelaAslam have you checked the link before suggesting it? Is there any particular section I should pay attention to?
– Opal
Nov 20 '18 at 12:25
@RaheelaAslam have you checked the link before suggesting it? Is there any particular section I should pay attention to?
– Opal
Nov 20 '18 at 12:25
add a comment |
2 Answers
2
active
oldest
votes
You can use similar like
in terminal
db.events.find({"carbonCopy.status":"NEW"})
in termilnal if you need existance as well
db.events.find({carbonCopy.status:{"$exists":true}},"carbonCopy.status":"NEW"})
NOW when it comes to 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);
add a comment |
It's possible with the following piece of code:
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"));
Where QEvent
is querydsl generated class.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53392877%2fusing-querydsl-with-undetermined-schema-with-mongo-and-spring-boot%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use similar like
in terminal
db.events.find({"carbonCopy.status":"NEW"})
in termilnal if you need existance as well
db.events.find({carbonCopy.status:{"$exists":true}},"carbonCopy.status":"NEW"})
NOW when it comes to 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);
add a comment |
You can use similar like
in terminal
db.events.find({"carbonCopy.status":"NEW"})
in termilnal if you need existance as well
db.events.find({carbonCopy.status:{"$exists":true}},"carbonCopy.status":"NEW"})
NOW when it comes to 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);
add a comment |
You can use similar like
in terminal
db.events.find({"carbonCopy.status":"NEW"})
in termilnal if you need existance as well
db.events.find({carbonCopy.status:{"$exists":true}},"carbonCopy.status":"NEW"})
NOW when it comes to 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);
You can use similar like
in terminal
db.events.find({"carbonCopy.status":"NEW"})
in termilnal if you need existance as well
db.events.find({carbonCopy.status:{"$exists":true}},"carbonCopy.status":"NEW"})
NOW when it comes to 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);
answered Nov 22 '18 at 5:21
Vipul
437312
437312
add a comment |
add a comment |
It's possible with the following piece of code:
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"));
Where QEvent
is querydsl generated class.
add a comment |
It's possible with the following piece of code:
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"));
Where QEvent
is querydsl generated class.
add a comment |
It's possible with the following piece of code:
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"));
Where QEvent
is querydsl generated class.
It's possible with the following piece of code:
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"));
Where QEvent
is querydsl generated class.
answered Nov 21 '18 at 10:02
Opal
52.4k20104117
52.4k20104117
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53392877%2fusing-querydsl-with-undetermined-schema-with-mongo-and-spring-boot%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Can you please look into below link may it help you. querydsl.com/static/querydsl/2.1.0/reference/html/ch02s07.html
– Raheela Aslam
Nov 20 '18 at 12:24
@RaheelaAslam have you checked the link before suggesting it? Is there any particular section I should pay attention to?
– Opal
Nov 20 '18 at 12:25