Skip to content

Can't find by null value #4052

@github-actions

Description

@github-actions

Duplicate of #4035 for milestone 3.0.0


Describe the bug
Cannot search by null value. I got null pointer exception:

java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "value" is null
	at dev.morphia.mapping.codec.references.ReferenceCodec.collectIdValues(ReferenceCodec.java:257)
	at dev.morphia.mapping.codec.references.ReferenceCodec.encode(ReferenceCodec.java:222)
	at dev.morphia.mapping.codec.references.ReferenceCodec.lambda$encode$0(ReferenceCodec.java:206)
	at dev.morphia.aggregation.codecs.ExpressionHelper.document(ExpressionHelper.java:81)
	at dev.morphia.mapping.codec.references.ReferenceCodec.encode(ReferenceCodec.java:204)
	at dev.morphia.query.OperationTarget.encode(OperationTarget.java:68)
	at dev.morphia.query.filters.Filter.getValue(Filter.java:158)
	at dev.morphia.query.filters.Filters$1.encode(Filters.java:220)

To Reproduce

@Entity
class IssueEntity {
    ....
    @Reference(idOnly = true)
    private SprintEntity sprint;
    .....
}
Query<IssueEntity> query = dataBaseClient.getDatastore().find(IssueEntity.class);
query.filter(Filters.eq("sprint", null));
IssueEntity entity = query.first();

** Please complete the following information: **

  • Driver Version: 4.11.5
  • Morphia Version: 2.4.19

Additional context
Any example models, queries, and executable test cases you can supply will greatly help debugging your issue:

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugforward-portIssues automatically duplicated from other versions via an action

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions