2013-05-22 1 views
0

Goodmorning, я немного смущен определенным идентификатором, полученным моделью, и идентификатором, который у него есть на parse.com, потому что моя коллекция связана с синтаксическим анализом .com.Как извлечь определенную модель из коллекции и установить идентификационную модель

Если я хочу получить конкретную модель из своей коллекции, как я могу это сделать?

пример, моя коллекция это:

  var Proposte = Backbone.Collection.extend({ 

    model:Proposta, 

    url:'https://api.parse.com/1/classes/Proposte', 

    }); 

     return Proposte; 

и моя модель такова:

 var Proposta = Backbone.Model.extend({ 
     url:"https://api.parse.com/1/classes/Proposte", 
     ... 

Если я хочу, чтобы получить конкретную модель из моей коллекции, как я могу сделать?

ответ

0

попробовать на это:

var item = Proposte.findWhere({'url':"https://api.parse.com/1/classes/Proposte"}); 

зайца является doc

Edit:

Код выше дает первую согласованную модель коллекции. Если вы хотите получить несколько моделей, который соответствует конкретным атрибутам модели, просто использовать where

0

Общий случай:

Определение idAttribute для модели/Коллекция:

var Proposta = Backbone.Model.extend({ 
    idAttribute: 'name', 

}); 

var Proposte = Backbone.Collection.extend({ 
    model:Proposta, 
    url:'https://api.parse.com/1/classes/Proposte' 
}); 


// Done here with static data just for illustration 
var collection = new Proposte([{name: 'aaa'}, {name: 'bbb'}]); 

Используйте определенный атрибут для извлечения моделей из коллекции:

console.log(collection.get('aaa')); 

JSFIddle

URL, конечно, может быть также, что атрибут (на всякий случай):

var Proposta = Backbone.Model.extend({ 
    idAttribute: 'url' 
}); 
var Proposte = Backbone.Collection.extend({ 
    model:Proposta, 
    url:'https://api.parse.com/1/classes/Proposte', 
}); 

var collection = new Proposte([{url: 'https://api.parse.com/1/classes/Proposte/1'}, {url: 'https://api.parse.com/1/classes/Proposte/2'}]); 

console.log(collection.get('https://api.parse.com/1/classes/Proposte/2')); 
+0

Если я установить idAttribute на: ObjectId что имеет то же значение из столбца parse.com это соответствует? Я пробовал с: var collection = new Proposte(); и collection.get ("45g24y"); но не работает –

+0

Я не уверен, что такое 'objectId', но подумайте об этом таким образом. Вы заполняете свою коллекцию объектами, которые обычно однородны, а это означает, что у них есть ** некоторый ** атрибут, который отличает один от другого. Я не уверен, что делает 'parse.com'. Можете ли вы показать пример элемента в коллекции? Простой 'console.log' должен делать (пока данные не чувствительны). – ZenMaster

+0

Я могу получить и показать вам коллекцию с помощью синтаксического анализа, но модель i can not –

Смежные вопросы