spring-projects / spring-projects/spring-data-mongodb
How to test if a value is null in aggregation?
Open
@christophstrobl is already working on this.
Since Dec 2, 2024.
type: enhancement
- Dominant language
- Java
- Stars
- 1.7k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
How can I check if a field reference/aggregation expression is null and obtain a boolean?
ConditionalOperators.ifNull("field").then(false)- does not return true/falseComparisonOperators.valueOf("field").equalToValue(null)- throws NPEBooleanOperators.Or.or(Fields.field("field"))- also returns true if value is 0
I just want to obtain $eq: ["$field", null]. Am I missing something?
Workaround
ArrayOperators.arrayOf(List.of("null", "missing")).containsValue((DataTypeOperators.typeOf("field")));
But this results in a different query, I'd like to obtain exactly $eq: ["$field", null].
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.