/** * Creates a criterion using the {@literal $all} operator. * * @param o * @return * @see <a href="https://docs.mongodb.com/manual/reference/operator/query/all/">MongoDB Query operator: $all</a> */ public Criteria all(Object... o) { return all(Arrays.asList(o)); }
/** * Creates a criterion using the {@literal $all} operator. * * @param o * @return * @see <a href="https://docs.mongodb.com/manual/reference/operator/query/all/">MongoDB Query operator: $all</a> */ public Criteria all(Object... o) { return all(Arrays.asList(o)); }
private static Criteria hasTagsCriterion(List<? extends Tag> tags, boolean matchAll) { Criteria result; if (CollectionUtils.isEmpty(tags)) { result = null; } else if (tags.size() == 1) { Tag tag = tags.iterator().next(); result = hasTagCriterion(tag); } else { List<String> tagsAsStrings = Lists.newArrayList(); for (Tag tag : tags) { tagsAsStrings.add(tag.getTag()); } result = Criteria.where(F_TAGS); if (matchAll) { result = result.all(tagsAsStrings); } else { result = result.in(tagsAsStrings); } } return result; }
@Override public void deleteByTags(String... tags) { if (ArrayUtils.isNotEmpty(tags)) { Query query = Query.query(Criteria.where(TAGS).all((Object[]) tags)); mongoOperations.remove(query, OneTimeAccessToken.class); } } }
@Override public void deleteByTags(String... tags) { if (ArrayUtils.isNotEmpty(tags)) { Query query = Query.query(Criteria.where(TAGS).all((Object[]) tags)); mongoOperations.remove(query, OneTimeAccessToken.class); } } }
@Override public void deleteByTags(String... tags) { if (ArrayUtils.isNotEmpty(tags)) { Query query = Query.query(Criteria.where(TAGS).all((Object[]) tags)); mongoOperations.remove(query, OneTimeAccessToken.class); } } }
@Override public void addCondition(Criteria criteria, FilterCondition filter, CriteriaHolder criteriaHolder) { /* Validate only collections */ this.validate(criteriaHolder, filter.getValue(), filter.isNegative(), INCORRECT_FILTER_PARAMETERS); criteria.all((Object[]) this.castValue(criteriaHolder, filter.getValue(), INCORRECT_FILTER_PARAMETERS)); }
private Criteria criteria(QueryOperator operator, String field, QueryLiteral<?> value) { Criteria criteria = new Criteria(field); switch (operator) { case $ALL: return criteria.all(((ListQueryLiteral) value).getLiterals()); case $EQ: return criteria.is(value.getLiteral()); case $GT: return criteria.gt(value.getLiteral()); case $GTE: return criteria.gte(value.getLiteral()); case $IN: return criteria.in(((ListQueryLiteral) value).getLiterals()); case $NIN: return criteria.nin(((ListQueryLiteral) value).getLiterals()); case $LT: return criteria.lt(value.getLiteral()); case $LTE: return criteria.lte(value.getLiteral()); case $NE: return criteria.ne(value.getLiteral()); case $LIKE: return criteria.regex((String) value.getLiteral(), "i"); // i means case insensitive case $ELEM_MATCH: return criteria.elemMatch(getCriteriaFromResourceQuery((ResourceQuery) value.getLiteral())); case $EXISTS: return criteria.exists((Boolean) value.getLiteral()); } return criteria; }