[JAVA-1660] Add generic builders for query filters, sorts, and projections Created: 25/Feb/15  Updated: 31/Mar/15  Resolved: 27/Feb/15

Status: Closed
Project: Java Driver
Component/s: API, Query Operations
Affects Version/s: None
Fix Version/s: 3.0.0

Type: New Feature Priority: Major - P3
Reporter: Jeffrey Yemin Assignee: Jeffrey Yemin
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The proposed syntax makes heavy use of static methods (which can be imported to improve readability). It will allow code like this:

collection.find(and(eq("x", "val"), gt("y", 5), lt("y", 10))
          .sort(orderBy(ascending("y", "z"), descending("a")))
          .projection(fields(include("y", "z", "a"), excludeId()));

assuming aggressive use of static imports.



 Comments   
Comment by Jeffrey Yemin [ 31/Mar/15 ]

Closing all resolved 3.0.0 issues, as 3.0.0 has been tagged and released.

Comment by Githook User [ 06/Mar/15 ]

Author:

{u'username': u'jyemin', u'name': u'Jeff Yemin', u'email': u'jeff.yemin@10gen.com'}

Message: Fixed bug in Projections. exclude is 0, not -1

JAVA-1660
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/057fa01cd6a8f9241b087a1a6d1617d5e5786241

Comment by Githook User [ 25/Feb/15 ]

Author:

{u'username': u'jyemin', u'name': u'Jeff Yemin', u'email': u'jeff.yemin@10gen.com'}

Message: Using Filters in NewQuickTour

JAVA-1660
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/27de2e7cf334aaf9a5636f961b050313c6d5eccd

Comment by Githook User [ 25/Feb/15 ]

Author:

{u'username': u'jyemin', u'name': u'Jeff Yemin', u'email': u'jeff.yemin@10gen.com'}

Message: Added builder for projections.

JAVA-1660
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/a96a94887c7f5723ee46fa1eb9bba7fd324e12ee

Comment by Githook User [ 25/Feb/15 ]

Author:

{u'username': u'jyemin', u'name': u'Jeff Yemin', u'email': u'jeff.yemin@10gen.com'}

Message: Added builder for sort specifications.

JAVA-1660
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/ed67b3dcfccae23090a62e9dfd5703facb02a09d

Comment by Jeffrey Yemin [ 25/Feb/15 ]

Author:

{u'username': u'jyemin', u'name': u'Jeff Yemin', u'email': u'jeff.yemin@10gen.com'}

Message: Added Filters class containing static methods for constructing query filters. All query operators are supported except $not, $nor, and geo-related operators.
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/39ec95eb00caa6054b84e19d31670b16ea7c54ff

Generated at Thu Feb 08 08:55:10 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.