protected DBCursor createCursor(DBCollection collection, @Nullable Predicate where, Expression<?> projection,
            QueryModifiers modifiers, List<OrderSpecifier<?>> orderBy) {
        DBCursor cursor = collection.find(createQuery(where), createProjection(projection));
        Integer limit = modifiers.getLimitAsInteger();
        Integer offset = modifiers.getOffsetAsInteger();
        if (limit != null) {
            cursor.limit(limit);
        }
        if (offset != null) {
            cursor.skip(offset);
        }
        if (orderBy.size() > 0) {
            cursor.sort(serializer.toSort(orderBy));
        }
        if (readPreference != null) {
            cursor.setReadPreference(readPreference);
        }
        return cursor;
    }
Fetch with the specific fields

@param paths fields to return
@return results
querydsl-mongodb/src/main/java/com/querydsl/mongodb/AbstractMongodbQuery.java