When I give a key to the request (line 186) couch already filters out all items that do not match that key. Despite that, it will still return a "rows" item in the dictionary which is a list of the rows that match that key. In this case, we will always have only one row for each key.

So, we don't have to worry with memory here because there'll not be more than one row returned by couch.