Wenn ich überprüfen möchte, ob ein Datum zwischen einem Datumsbereich liegt. Ich kann so etwas tun.Spring Data MongoDB prüfen, ob das Feld existiert und dann abfragen
Query query = new Query();
query.addCriteria(new Criteria().andOperator(Criteria.where("effectiveFrom").lte(date),
Criteria.where("validTill").gte(date)));
return mongoTemplate.find(query, DocumentClass.class, "DocumentName");
Aber nehmen wir die validTill
in einigen Fällen nicht vorhanden ist, was der bequemste Weg, dies zu tun. Es sollte also so etwas wie überprüfen, ob validTill
existiert dann vergleichen Sie das angegebene Datum innerhalb des Datumsbereichs sonst finden Sie einfach die Datensätze, in denen effectiveFrom
ist kleiner oder gleich dem angegebenen Datum.
http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mongodb-template-query.criteria Betrachten Sie existiert. Wenn validTill vorhanden ist und wenn validTill größer als date ist. –