MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Вземете колекция и добавете стойност към отговора

Има 2 начина, по които можете да приложите функция за публикуване:

  1. Чрез връщане на курсор (или масив от курсори)
  2. Чрез използване на this.added(), this.changed() и this.removed().

Само метод 2 позволява да се променят върнатите документи.

Моля, вижте документацията на Meteor тук . Въпреки това, тъй като предоставеният примерен код може да изглежда сложен, ето още един:

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

е еквивалентно на:

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

Във втория пример можете да промените параметъра „field“, преди да го изпратите за публикуване, по следния начин:

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

Източник:тази публикация .



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Итерация над курсора на Mongodb от агрегат

  2. Позволете на новия ClusterControl да защити вашите внедрявания на MongoDB

  3. Как MongoEngine обработва индексите (създаване, актуализиране, премахване)?

  4. Strapi:отстраняване на грешки ⛔️ Сървърът не успя да стартира правилно

  5. Вложени релации MongoDb