MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Problemas ao publicar/assinar uma consulta agregada do Mongo


Meteor ainda não suporta agregação. Você pode fazê-lo funcionar desta maneira, no entanto:

Adicione um pacote de agregação:meteor add meteorhacks:aggregate

Use Meteor.call /Meteor.methods em vez disso, uma vez que um resultado de agregação é estático neste ponto. Nenhuma reatividade suportada.

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

Lado do cliente:

Seu modelo
Template.xx.onCreated(function() {

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

Então você pode acessar os dados 'reativamente' (quando estiver pronto) verificando Session.get("testlist");