return new Bluebird<TDocument|undefined>((resolve, reject) => {
            this.cursor.next((err: Error, result: TDocument) => {
                if (err) return reject(err);
                return resolve(result);
            });