MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Probleme beim Veröffentlichen/Abonnieren einer Mongo-Aggregatabfrage

Meteor unterstützt noch keine Aggregation. Sie können es aber folgendermaßen zum Laufen bringen:

Fügen Sie ein Aggregationspaket hinzu:meteor add meteorhacks:aggregate

Verwenden Sie Meteor.call /Meteor.methods stattdessen, da ein Aggregationsergebnis an dieser Stelle statisch ist. Keine Reaktivität unterstützt.

serverseitig

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

Clientseite:

Ihre Vorlage

Template.xx.onCreated(function() {

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

Dann können Sie „reaktiv“ auf die Daten zugreifen (wenn sie bereit sind), indem Sie Session.get("testlist"); auschecken