MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zdobądź kolekcję i dodaj wartość do odpowiedzi

Istnieją dwa sposoby na zaimplementowanie funkcji publikowania:

  1. Zwracając kursor (lub tablicę kursorów)
  2. Korzystając z this.added(), this.changed() i this.removed().

Tylko metoda 2 pozwala na modyfikację zwracanych dokumentów.

Zapoznaj się z dokumentacją Meteor tutaj . Jednakże, ponieważ dostarczony przykładowy kod może wyglądać na skomplikowany, oto jeszcze jeden:

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

jest równoważne z:

// 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(); });
});

W drugim przykładzie możesz zmodyfikować parametr 'field' przed wysłaniem go do publikacji w następujący sposób:

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

Źródło:ten post .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak używać kropki w nazwie pola?

  2. Jak wysłać wiele dokumentów za pomocą RMongo

  3. Niezawodne ponowne połączenie z MongoDB

  4. Ustawianie konfiguracji autoryzacji MongoDB w Python-Eve

  5. Co mam wybrać:MongoDB/Cassandra/Redis/CouchDB?