@Override public Memory unconvert(Environment env, TraceInfo trace, CountOptions arg) throws Throwable { if (arg == null) return Memory.NULL; ArrayMemory options = ArrayMemory.createHashed(12); options.put("skip", arg.getSkip()); options.put("limit", arg.getLimit()); options.put("maxTime", arg.getMaxTime(TimeUnit.MILLISECONDS)); return options; }
CountOperation count(final Bson filter, final CountOptions options, final CountStrategy countStrategy) { CountOperation operation = new CountOperation(namespace, countStrategy) .filter(toBsonDocument(filter)) .skip(options.getSkip()) .limit(options.getLimit()) .maxTime(options.getMaxTime(MILLISECONDS), MILLISECONDS) .collation(options.getCollation()); if (options.getHint() != null) { operation.hint(toBsonDocument(options.getHint())); } else if (options.getHintString() != null) { operation.hint(new BsonString(options.getHintString())); } return operation; }
CountOperation count(final Bson filter, final CountOptions options, final CountStrategy countStrategy) { CountOperation operation = new CountOperation(namespace, countStrategy) .filter(toBsonDocument(filter)) .skip(options.getSkip()) .limit(options.getLimit()) .maxTime(options.getMaxTime(MILLISECONDS), MILLISECONDS) .collation(options.getCollation()); if (options.getHint() != null) { operation.hint(toBsonDocument(options.getHint())); } else if (options.getHintString() != null) { operation.hint(new BsonString(options.getHintString())); } return operation; }