2013-05-22 28 views
0

Goodmorning,我有點困惑了一個模型已經得到的特定id和它在parse.com中的id,因爲我的集合鏈接到了解析.COM。如何從集合中提取特定的模型,並設置ID模型

如果我想從我的集合中獲得特定的模型,我該怎麼辦?

一個例子,我的收藏是這樣的:

  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

編輯:

上面的代碼爲您提供了集合的第一個匹配的模式。 如果你想獲得匹配模型的特定屬性的多個型號,只需用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

我可以通過解析並向您展示一個集合,但我不能模型 –

相關問題