Как получить модель из коллекции Backbone.js по ее идентификатору?

В моем приложении все, что я делаю с данными, основано на первичном ключе, поскольку данные хранятся в базе данных. Я хотел бы получить модель из коллекции на основе этого ключа.

Использование Collection.at() требует индекса массива, Collection.getByCid() требует идентификатора клиента, который генерируется случайным образом.

Каков наилучший способ захватить модель, которую я хочу, из коллекции с заданным значением id? Я считаю, что худшее, что я мог бы сделать, это перебрать каждый элемент,get ('id') и вернуть его.

Ответ 1

Взгляните на метод get, это может быть полезно:)

http://backbonejs.org/#Collection-get

получить collection.get(id)
Получите модель из коллекции, заданной id, cid или передав в модель.

Ответ 2

Если ваши данные требуют от вас использовать другой тип ключа или набор, который не имеет сетки с at(), getByCid() или get(), также есть where(). Возможно, что-то подобное:

window.lib = new Library;
window.lib.fetch([
    success: function(model, response) {
        console.log(window.lib.where({'BookID':488, 'Rev':2, 'Status':'Active'});
    }
});