6

最近Meteorで遊び始めて、問題に遭遇しました。MongoDBに保存され、テストを表すレコードのコレクションがあり、各テストレコードにはテスト実行結果のネストされたコレクション/配列があります。フロントエンドで、成功または失敗したテスト実行の数順に並べられたテストのリストを表示しようとしています。その数はDBに保存されず、計算の結果です。

Meteorでそれを実装する方法のアイデアを誰かが提案できますか?計算されたプロパティで並べ替える方法が見つからず、実際のコレクションに基づいた仮想/プロキシコレクションを作成し、仮想を表示/並べ替える方法を探していましたが、まだ何も見つかりませんでした。

あなたの助けは大歓迎です。

4

1 に答える 1

0

Meteor での私の経験では、あなたが求めているのはcollection/document transformです。あなたのコンテキストに関連するようにしようとしたいくつかのコード(テストされていません)。

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

アプリケーションの規模とトラフィックに応じて、テスト ドキュメントが要求されるたびに発生するこの読み取りが、テスト ドキュメント自体の明示的な成功と失敗のカウントに書き込むよりも多かれ少なかれコストがかかるかどうかを判断する必要があります。

于 2016-01-31T16:19:13.773 に答える