MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Problemi di pubblicazione/iscrizione a una query aggregata Mongo

Meteor non supporta ancora l'aggregazione. Puoi farlo funzionare in questo modo però:

Aggiungi in un pacchetto di aggregazione:meteor add meteorhacks:aggregate

Usa Meteor.call /Meteor.methods invece, poiché un risultato di aggregazione è statico a questo punto. Nessuna reattività supportata.

lato server

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

Lato cliente:

Il tuo modello

Template.xx.onCreated(function() {

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

Quindi puoi accedere ai dati "reattivamente" (quando sono pronti) controllando Session.get("testlist");