sql >> Databasteknik >  >> NoSQL >> MongoDB

Problem med att publicera/prenumerera på en Mongo-samlad fråga

Meteor stöder inte aggregering ännu. Du kan dock få det att fungera så här:

Lägg till i ett aggregeringspaket:meteor add meteorhacks:aggregate

Använd Meteor.call /Meteor.methods istället eftersom ett aggregeringsresultat är statiskt vid denna tidpunkt. Ingen reaktivitet stöds.

serversidan

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

Kundsidan:

Din mall

Template.xx.onCreated(function() {

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

Sedan kan du komma åt data "reaktivt" (när den är klar) genom att kolla in Session.get("testlist");




  1. Kan inte importera MongoClient

  2. NodeJS + Mongo - hur får man koll på innehållet?

  3. Frågar efter en lista över alla distinkta fält i MongoDB-samlingen

  4. Varför den här uppdateringsfrågan bara uppdaterar en post en gång