sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man reaktivt aggregerar mongodb i meteor

Du har inte en samling på klientsidan. Du måste också prenumerera innan du ringer den här hjälparen.

Prova detta

import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';
import './main.html';

var clientReport = new Mongo.Collection('clientReport');

Meteor.subscribe("reportTotals");

Template.header.helpers({
    'tasks': function () {
        console.log("tasks helper called : ");     
        console.log(clientReport.find().fetch());
    },   
});

Du behöver inte heller pipeline och ingen autorun på serverkod, prova detta:

AtmData = new Mongo.Collection('atmdata');

Meteor.startup(() => {
  // code to run on server at startup
/*     AtmData.insert({
        bottles_used: 123,
    }); */

});



Meteor.publish("reportTotals", function() {
// Remember, ReactiveAggregate doesn't return anything

    ReactiveAggregate(this, AtmData, [{
        // assuming our Reports collection have the fields: hours, books    
        $group: {
            '_id': null,
            'bottles_used': {
            // In this case, we're running summation. 
                $sum: '$bottles_used'
                // $sum: 1
            }
        }
        }], { clientCollection: "clientReport" });    
});


  1. Redis Lua script implementerar CAS (check-and-set)?

  2. Är MongoDB ett giltigt alternativ till relationell db + lucene?

  3. TypeError:Kan inte använda operatorn 'in' för att söka efter '_id' i [{}]

  4. Skapa en ISODate för MongoDB med PHP