2012-09-21 76 views
1

篩選結果,我有以下MongoDB的模型:斯卡拉Liftweb - 從Model.findAll

class Setting_Model private() extends MongoRecord[Setting_Model] with ObjectIdPk[Setting_Model] { 

    def meta = Setting_Model 

    /* Values -------------------------------------------------------*/ 
    object set_id extends LongField(this) 
    object category extends StringField(this, 125) 
    object group extends StringField(this, 125) 
    object handle extends StringField(this, 125) 
    object label extends StringField(this, 125) 
    object relation extends StringField(this, 125) 
    object value extends StringField(this, 125) 

} 

爲了減少查詢我馬上拉着所有的值從「設置」集合。

我在找的是一種過濾找到的模型列表的方法,因此我可以從所需字段中提取單個值。

例如,如果我有列表中的下列對象:

{ 
    "category": "limit", 
    "group": "lists", 
    "handle": "max_per_page", 
    "label": "Max items per page", 
    "relation": "grid", 
    "set_id": 1, 
    "value": "10" 
} 

我需要一種方法來過濾列表,並返回該對象的「值」字段。提前任何幫助

謝謝,非常感謝:)

PS:讓我知道如果你需要進一步澄清

回答

1

對不起,

就解決了這個問題:S

對於那些感興趣的:

var value = setting_model.filter(s => 

    s.category.toString == "limit" && 
    s.group.toString == "lists" && 
    s.relation.toString == "grid" 

)(0).value.is 

謝謝anyhoo;)