Добре, след известно ровене в кода и осъзнаване, че mongo lib съдържа собствени реализации на всички необходими методи, използвах повторно решението aggregate() от https://github.com/meteor/meteor/pull/644
Директните промени и превод в coffeescript дават следния фрагмент, който да поставите във вашия код от страна на сървъра:
path = __meteor_bootstrap__.require("path")
MongoDB = __meteor_bootstrap__.require("mongodb")
Future = __meteor_bootstrap__.require(path.join("fibers", "future"))
myCollection = new Meteor.Collection "my_collection"
#hacky distinct() definition from https://github.com/meteor/meteor/pull/644
myCollection.distinct = (key)->
future = new Future
@find()._mongo.db.createCollection(@_name,(err,collection)=>
future.throw err if err
collection.distinct(key, (err,result)=>
future.throw(err) if err
future.ret([true,result])
)
)
result = future.wait()
throw result[1] if !result[0]
result[1]
Недостатъкът е, че трябва да го дефинирате за всяка нова колекция, но това е доста лесно да се коригира с друг хак чрез _.extend или нещо подобно, предполагам...
PS Вече е и интелигентен пакет - mrt add mongodb-aggregation