2013-01-25 6 views

risposta

9
Collection.find({}).distinct('myField', true); 

Per utilizzare, inserire il seguente nel [progetto] /client/lib/a.js:

LocalCollection.Cursor.prototype.distinct = function (key,random) { 
    var self = this; 

    if (self.db_objects === null) 
    self.db_objects = self._getRawObjects(true); 
    if (random) 
    self.db_objects = _.shuffle(self.db_objects); 
    if (self.reactive) 
    self._markAsReactive({ordered: true, 
          added: true, 
          removed: true, 
          changed: true, 
          moved: true}); 
    var res = {}; 
    _.each(self.db_objects,function(value){ 

    if(!res[value[key]]){ 
     res[value[key]] = value; 
    } 
    }); 
    return _.values(res); 
}; 
+0

Grazie! Ci proverò. – TimDog

+0

usando questo sono in grado di creare un 'find()' personalizzato per rendere certe operazioni solo reattive? Quindi è solo reattivo su aggiunto e rimosso? – Akshat

+0

sì. in self._markAsReactive() set false: ordinato, modificato, spostato. – ram1

Problemi correlati