如何在流星中按计算的属性/虚拟属性进行排序



最近开始玩流星,遇到了一个问题:我有存储在MongoDB中并表示测试的记录集合,每个测试记录都有测试执行结果的嵌套集合/数组。在前端,我尝试显示按成功或失败的测试执行次数排序的测试列表。该数字不存储在数据库中,而是计算的结果。

谁能提出如何在流星中实现它的想法?我还没有找到按计算属性排序的方法,并且正在寻找如何制作基于真实集合的虚拟/代理集合并显示/排序虚拟的想法,但尚未找到任何东西。

非常感谢

您的帮助。

根据我对 Meteor 的经验,你所追求的是集合/文档转换。一些代码,我试图使其与您的上下文相关(未测试)。

Tests = new Mongo.Collection('tests', {
    transform: function(test) {
        test.successCount = function(){
            return Results.find({ testId: test._id, success: true }).count();
        };
        test.failCount = function(){
            return Results.find({ testId: test._id, success: false }).count();
        };
        return test; //this line is mandatory, transform must return the document
    }
});

根据应用程序的规模和流量,您需要确定每次请求测试文档时都会发生的这种读取是否比写入测试文档本身的显式成功和失败计数更昂贵或更低。

最新更新