sql >> Database teknologi >  >> NoSQL >> MongoDB

Få en samling og tilføj en værdi til svaret

Der er 2 måder, du kan implementere en publiceringsfunktion på:

  1. Ved at returnere en markør (eller en række markører)
  2. Ved at bruge this.added(), this.changed() og this.removed().

Kun metode 2 tillader at ændre returnerede dokumenter.

Se venligst Meteor-dokumentationen her . Men da den medfølgende eksempelkode kan se kompleks ud, er her en anden:

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

svarer til:

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

I den anden prøve kan du ændre 'felt'-parameteren, før du sender den til offentliggørelse, sådan:

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

Kilde:dette indlæg .



  1. Samlet $lookup med C#

  2. Mongo dbref yderligere felter er usynlige i mongoshell. Hvordan viser man dem?

  3. MongoDB - filstørrelsen er enorm og voksende

  4. Hent relevansbestemt resultat fra tekstforespørgsel på MongoDB Collection ved hjælp af C#-driveren