In most cases the result of .query() method is an array, which can be easily extended with some methods (business logics) with the follow
.query()
You could put the metadata in a header. I always put paging data there. That way your query will still return an array, which I believe is a good thing. Queries should return arrays of data, not single data.