I am trying to get my head around querying into a data model both before and after it has been loaded from the server.

Part of my model is defined by a single table with several columns and reasonably large number of rows (above 200,000). Effectively read only.

I understand how to get stuff by ID. But what about the case where I have fetched most if not all this data before hand into memory and javascript? By what patterns can I dynamically query it? e.g. specific columns or sets of columns.

Any meta programming techniques or generic computed properties?

I suppose the other way is just to always fetch from from the server and let my backend (rails) figure out how to find the record. In this case am I better off just sending back an array of IDs or should I respond with the ids + the json objects of the records. Will ember data know how to place them in the local model graph? I assume this is where the identity map comes into play.