@Override
    public K fetchFirst() {
        try {
            FindIterable<Document> c = createCursor().limit(1);
            MongoCursor<Document> iterator = c.iterator();
            try {

                if (iterator.hasNext()) {
                    return transformer.apply(iterator.next());
                } else {
                    return null;
                }
            } finally {
                iterator.close();
            }
        } catch (NoResults ex) {
            return null;
        }
    }
Fetch first with the specific fields

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