Yeah, but if you don't fetch() you are left with a cursor and a cursor doesn't have .length - the fetch is done to be consistent with the [] returned in the else case. I use results.length in the template.