@Override public JsonNode getBodyJson() { ObjectNode node = (ObjectNode) super.getBodyJson(); if (queryExpression != null) { node.set("query", queryExpression.toJson()); } return node; }
/** * <pre> * { $not : { query } } * </pre> */ public static Query not(Query query) { Query q = new Query(false); q.add("$not", query.toJson()); return q; }
/** * <pre> * { $and : [ expressions ] } * { $or : [ expressions ] } * </pre> */ public static Query logical(LogOp op, Collection<Query> expressions) { Query q = new Query(true); for (Query x : expressions) { ((ArrayNode) q.node).add(x.toJson()); } Query a = new Query(false); a.add(op.toString(), q.toJson()); return a; }
@Override public ObjectNode getBodyJson() { ObjectNode node = (ObjectNode) super.getBodyJson(); if (queryExpression != null) { node.set("query", queryExpression.toJson()); } if (projection != null) { node.set("projection", projection.toJson()); } if (sort != null) { node.set("sort", sort.toJson()); } appendRangeToJson(node, begin, maxResults); return node; }
/** * <pre> * { array: <array>, elemMatch:<x> } * </pre> */ public static Query arrayMatch(String array, Query x) { Query q = new Query(false); q.add("array", array).add("elemMatch", x.toJson()); return q; }
@Override public JsonNode getBodyJson() { ObjectNode node = (ObjectNode) super.getBodyJson(); if (projection != null) { node.set("projection", projection.toJson()); } if (query != null) { node.set("query", query.toJson()); } if (update != null) { node.set("update", update.toJson()); } appendRangeToJson(node, begin, maxResults); appendUpdateIfCurrentToJson(node); return node; }
/** * <pre> * { field: <pattern>, include: <include>, match: <query>, projection: <projection>, sort: <sort> } * </pre> */ public static Projection array(String pattern, Query match, boolean include, Projection projection, Sort sort) { Projection p = new Projection(false); p.add("field", pattern).add("include", include).add("match", match.toJson()); if (projection != null) { p.add("projection", projection.toJson()); } if (sort != null) { p.add("sort", sort.toJson()); } return p; }