Backbone - findWhere:如何通过查询嵌套对象来查找模型

时间:2014-07-30 02:20:09

标签: backbone.js

这是我的收藏品的样本集:

{
    "name": "Bob",
    "class": "3",
    "marks": {
        "maths": 70,
        "science": 85
    }
},
{
    "name": "Ron",
    "class": "3",
    "marks": {
        "maths": 80,
        "science": 90
    }
}

使用Backbone的findWhere,我能够得到这样的查询模型:

Coln.findWhere({"name": "Ron"});

但是如何根据数学标记查询模型?以下代码似乎不起作用:

Coln.findWhere({"marks.maths": 80});

1 个答案:

答案 0 :(得分:8)

集合中混合了各种Underscore methods。特别是,find允许您指定谓词函数,因此您可以执行以下操作:

Coln.find(function(m) { return m.get('marks').maths === 80 })

如果要查找匹配的所有模型,请使用filter