sql >> Databáze >  >> NoSQL >> MongoDB

Získejte sbírku a přidejte k odpovědi hodnotu

Existují 2 způsoby, jak můžete implementovat funkci publikování:

  1. Vrácením kurzoru (nebo pole kurzorů)
  2. Pomocí this.added(), this.changed() a this.removed().

Pouze metoda 2 umožňuje upravovat vrácené dokumenty.

Prostudujte si dokumentaci k Meteoru zde . Protože však poskytnutý ukázkový kód může vypadat složitě, zde je další:

// server: publish the rooms collection
Meteor.publish("rooms", function () {
  return Rooms.find({});
});

je ekvivalentní:

// server: publish the rooms collection
Meteor.publish("rooms", function () {
  var self = this;
  var handle = Rooms.find({}).observeChanges({
    added:   function(id, fields) { self.added("rooms", id, fields); },
    changed: function(id, fields) { self.changed("rooms", id, fields); },
    removed: function(id)         { self.added("rooms", id); },
    }
  });
  self.ready();
  self.onStop(function () { handle.stop(); });
});

Ve druhém příkladu můžete parametr 'field' před odesláním k publikaci upravit takto:

added: function(id, fields) { 
    fields.newField = 12;
    self.added("rooms", id, fields); 
},

Zdroj:tento příspěvek .



  1. MongoDB – měl by můj uživatelský dokument obsahovat seznam ID projektů?

  2. Mongo převede vložený dokument na pole

  3. Jak najít mongo dokumenty se stejným polem

  4. Jak získám Spring-Data-MongoDB k ověření mých objektů?