spring-projects / spring-projects/spring-data-mongodb
ComparisonOperators should support isNull() [DATAMONGO-2619]
Open
@christophstrobl is already working on this.
Since Dec 30, 2020.
in: aggregation-framework
status: ideal-for-contribution
type: enhancement
- Dominant language
- Java
- Stars
- 1.7k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
Daniel Theuke opened DATAMONGO-2619 and commented
Currently I have to this workaround:
when(ComparisonOperators.valueOf("$$child.v").equalTo(ctx -> null))
.then(new Document("type", "$$child.k"))
.otherwise(new Document()
.append("type", "$$child.k")
.append("version", "$$child.v")))
It would be nice if I could use something like this:
when(ComparisonOperators.valueOf("$$child.v").equalToValue(null))
.then(new Document("type", "$$child.k"))
.otherwise(new Document()
.append("type", "$$child.k")
.append("version", "$$child.v")))
or
when(ComparisonOperators.valueOf("$$child.v").isNull())
.then(new Document("type", "$$child.k"))
.otherwise(new Document()
.append("type", "$$child.k")
.append("version", "$$child.v")))
Expected ouput:
'if': {
$eq: [
'$$child.v',
null
]
},
then: {
type: '$$child.k'
},
'else': {
type: '$$child.k',
version: '$$child.v'
}
Affects: 3.0.3 (Neumann SR3)
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.