protected UpdateOperations<T> remove(final String fieldExpr, final boolean firstNotLast) { add(UpdateOperator.POP, fieldExpr, (firstNotLast) ? -1 : 1, false); return this; }
@Override public UpdateOperations<T> unset(final String field) { add(UpdateOperator.UNSET, field, 1, false); return this; }
@Override public UpdateOperations<T> max(final String field, final Number value) { add(UpdateOperator.MAX, field, value, false); return this; }
@Override public UpdateOperations<T> min(final String field, final Number value) { add(UpdateOperator.MIN, field, value, false); return this; }
public MorphiaUpdateOperations add(String fieldExpr, Object value) { u_.add(fieldExpr, value); return this; }
public MorphiaUpdateOperations add(String fieldExpr, Object value, boolean addDups) { u_.add(fieldExpr, value, addDups); return this; }
@Override public UpdateOperations<T> addToSet(final String field, final List<?> values) { if (values == null || values.isEmpty()) { throw new QueryException("Values cannot be null or empty."); } add(UpdateOperator.ADD_TO_SET_EACH, field, values, true); return this; }
@Override public UpdateOperations<T> set(final String field, final Object value) { if (value == null) { throw new QueryException("Value cannot be null."); } add(UpdateOperator.SET, field, value, true); return this; }
@Override public UpdateOperations<T> removeAll(final String field, final Object value) { if (value == null) { throw new QueryException("Value cannot be null."); } add(UpdateOperator.PULL, field, value, true); return this; }
@Override public UpdateOperations<T> addToSet(final String field, final Object value) { if (value == null) { throw new QueryException("Value cannot be null."); } add(UpdateOperator.ADD_TO_SET, field, value, true); return this; }
@Override public UpdateOperations<T> inc(final String field, final Number value) { if (value == null) { throw new QueryException("Value cannot be null."); } add(UpdateOperator.INC, field, value, false); return this; }
@Override public UpdateOperations<T> removeAll(final String field, final List<?> values) { if (values == null || values.isEmpty()) { throw new QueryException("Value cannot be null or empty."); } add(UpdateOperator.PULL_ALL, field, values, true); return this; }
@Override public UpdateOperations<T> setOnInsert(final String field, final Object value) { if (value == null) { throw new QueryException("Value cannot be null."); } add(UpdateOperator.SET_ON_INSERT, field, value, true); return this; }