Collection.find() order of operations?

Hey everyone, I’ve encountered something odd, not sure if this is the expected behaviour or I’m doing something wrong.

I’m having this line: Transfers.find(query, {sort:{‘timestamp’:1}, limit:100}).fetch().

I would expect the following order:

  1. query is executed, documents selected by that,
  2. documents are sorted by timestamp
  3. limit is applied

Instead, what I seem to be getting is:

  1. all documents are sorted by timestamp
  2. limit is applied
  3. query is executed and matching docs returned.

How can I achieve the first behaviour? Or, what am I doing wrong?