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

Ana*_*nth 4 backbone.js

这是我的集合的样本集:

{
    "name": "Bob",
    "class": "3",
    "marks": {
        "maths": 70,
        "science": 85
    }
},
{
    "name": "Ron",
    "class": "3",
    "marks": {
        "maths": 80,
        "science": 90
    }
}
Run Code Online (Sandbox Code Playgroud)

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

Coln.findWhere({"name": "Ron"});
Run Code Online (Sandbox Code Playgroud)

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

Coln.findWhere({"marks.maths": 80});
Run Code Online (Sandbox Code Playgroud)

mu *_*ort 8

集合中混合了各种Underscore方法.特别是,有find一个允许你指定一个谓词函数,所以你可以做这样的事情:

Coln.find(function(m) { return m.get('marks').maths === 80 })
Run Code Online (Sandbox Code Playgroud)

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