@Override
    public K fetchOne() {
        try {
            Long limit = getQueryMixin().getMetadata().getModifiers().getLimit();
            if (limit == null) {
                limit = 2L;
            }

            FindIterable<Document> c = createCursor().limit(limit.intValue());
            MongoCursor<Document> iterator = c.iterator();
            try {

                if (iterator.hasNext()) {
                K rv = transformer.apply(iterator.next());
                if (iterator.hasNext()) {
                    throw new NonUniqueResultException();
                }
                return rv;
            } else {
                return null;
            }
            } finally {
                iterator.close();
            }


        } catch (NoResults ex) {
            return null;
        }
    }
Fetch one with the specific fields

@param paths fields to return
@return first result
querydsl-mongodb/src/main/java/com/querydsl/mongodb/document/AbstractFetchableMongodbQuery.java