MongoDB Java Driver legacy all-in-one JAR providing comprehensive database connectivity for Java applications with synchronous APIs, CRUD operations, aggregation, GridFS, change streams, and authentication support
—
Comprehensive query building utilities for creating MongoDB queries, filters, sorts, projections, and updates with type safety and fluent APIs.
Factory methods for creating query filters with type-safe field matching.
public final class Filters {
// Equality operations
public static Bson eq(String fieldName, Object value);
public static Bson ne(String fieldName, Object value);
// Comparison operations
public static Bson gt(String fieldName, Object value);
public static Bson gte(String fieldName, Object value);
public static Bson lt(String fieldName, Object value);
public static Bson lte(String fieldName, Object value);
// Array operations
public static Bson in(String fieldName, Object... values);
public static Bson nin(String fieldName, Object... values);
// Logical operations
public static Bson and(Bson... filters);
public static Bson or(Bson... filters);
public static Bson not(Bson filter);
public static Bson nor(Bson... filters);
// Pattern matching
public static Bson regex(String fieldName, String pattern);
public static Bson regex(String fieldName, Pattern pattern);
// Field existence
public static Bson exists(String fieldName);
public static Bson exists(String fieldName, boolean exists);
// Type checking
public static Bson type(String fieldName, BsonType type);
public static Bson type(String fieldName, String type);
}Factory methods for creating update operations with type safety.
public final class Updates {
// Field updates
public static Bson set(String fieldName, Object value);
public static Bson unset(String fieldName);
public static Bson rename(String fieldName, String newFieldName);
public static Bson setOnInsert(String fieldName, Object value);
// Numeric updates
public static Bson inc(String fieldName, Number amount);
public static Bson mul(String fieldName, Number amount);
public static Bson min(String fieldName, Object value);
public static Bson max(String fieldName, Object value);
// Array updates
public static Bson push(String fieldName, Object value);
public static Bson pushEach(String fieldName, List<?> values);
public static Bson pull(String fieldName, Object value);
public static Bson pullAll(String fieldName, List<?> values);
public static Bson addToSet(String fieldName, Object value);
public static Bson popFirst(String fieldName);
public static Bson popLast(String fieldName);
// Combined updates
public static Bson combine(Bson... updates);
}Factory methods for creating field projections.
public final class Projections {
public static Bson include(String... fieldNames);
public static Bson exclude(String... fieldNames);
public static Bson excludeId();
public static Bson elemMatch(String fieldName, Bson filter);
public static Bson slice(String fieldName, int limit);
public static Bson slice(String fieldName, int skip, int limit);
public static Bson textScore(String fieldName);
public static Bson meta(String fieldName, String metaFieldName);
public static Bson fields(Bson... projections);
}Factory methods for creating sort specifications.
public final class Sorts {
public static Bson ascending(String... fieldNames);
public static Bson descending(String... fieldNames);
public static Bson orderBy(Bson... sorts);
public static Bson textScore(String fieldName);
public static Bson metaTextScore();
}Usage Examples:
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Updates;
import com.mongodb.client.model.Projections;
import com.mongodb.client.model.Sorts;
// Complex query with filters
FindIterable<Document> results = collection.find(
Filters.and(
Filters.gte("age", 18),
Filters.lt("age", 65),
Filters.in("status", "active", "pending"),
Filters.regex("name", "^A.*", "i")
)
);
// Update operations
UpdateResult result = collection.updateMany(
Filters.eq("department", "Engineering"),
Updates.combine(
Updates.inc("salary", 5000),
Updates.set("lastUpdated", new Date()),
Updates.addToSet("skills", "MongoDB")
)
);
// Projection and sorting
FindIterable<Document> projected = collection.find()
.projection(Projections.fields(
Projections.include("name", "email", "department"),
Projections.excludeId()
))
.sort(Sorts.orderBy(
Sorts.ascending("department"),
Sorts.descending("salary")
));Install with Tessl CLI
npx tessl i tessl/maven-org-mongodb--mongo-java-driver