2012-09-21 50 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;)