sql >> データベース >  >> NoSQL >> MongoDB

Mongo集計クエリの公開/サブスクライブの問題

    Meteorはまだ集約をサポートしていません。ただし、このように機能させることができます:

    集約パッケージに追加:meteor add meteorhacks:aggregate

    Meteor.callを使用します /Meteor.methods 代わりに、集計結果はこの時点では静的であるためです。反応性はサポートされていません。

    サーバー側

    Meteor.methods({
        "getTestList" : function() {
            return Tests.aggregate(
            [{
                $project : {
                "name" : 1,
                "description" : 1,
                "testNumber" : 1
              }
            }, {
              $sort : {
                "testNumber" : 1
              }
            }
          ])
        }
    });
    

    クライアント側:

    テンプレート

    Template.xx.onCreated(function() {
    
        Meteor.call("getTestList", function(err, result) {
            Session.set("testlist", result);
        });
    });
    

    次に、Session.get("testlist");をチェックアウトすることで、データに「リアクティブに」(準備ができたら)アクセスできます。




    1. Morphia / MongoDB:@Embeddedオブジェクトから埋め込みオブジェクトにアクセスする

    2. MongoDB Javaドライバーの集約パイプライン実行でタイムアウトを設定する動作は何ですか?

    3. MongoDB:一致するネストされた配列要素の数

    4. mongodbのフィールドのオブジェクト配列から部分的なオブジェクトを取得する方法