backbone.js - Backbone - findWhere : How to find a model by querying for a nested object

标签 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});

最佳答案

收藏有各种Underscore methods混入其中。特别是有 find 它允许您指定谓词函数,以便您可以执行以下操作:

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

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

关于backbone.js - Backbone - findWhere : How to find a model by querying for a nested object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25027783/

相关文章:

javascript - 捕获除重置之外的所有事件

javascript - 如何在集合更改时重置此主干 View ?

javascript - 将 Handlebars 集成到 Backbone Boilerplate 应用程序中

javascript - Backbone + Promises - 如何在发布后获取

javascript - 'without' 函数在集合上做什么?

javascript - Backbone subview 和父 View 不能同时工作

javascript - 搜索表单和结果的 Backbone 结构?

javascript - Backbone.js-模型方法中 'this' 的范围

javascript - 在 Backbone 中保留对全局集合的引用的最佳模式

javascript - 记录 Backbone.js 集合中的更改,我的集合未定义