From afb2aaece7af64a24354e01b675acff583636732 Mon Sep 17 00:00:00 2001 From: Slava Kim Date: Tue, 5 Nov 2013 18:29:03 -0800 Subject: [PATCH] Filter out modified object If modifier sets fields we don't like in cache, for example --- packages/mongo-livedata/oplog.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/mongo-livedata/oplog.js b/packages/mongo-livedata/oplog.js index 49ffa94805..3326051d75 100644 --- a/packages/mongo-livedata/oplog.js +++ b/packages/mongo-livedata/oplog.js @@ -172,12 +172,10 @@ MongoConnection.prototype._observeChangesWithOplog = function ( } else if (published.has(id)) { // Oh great, we actually know what the document is, so we can apply // this directly. - // XXX this assumes no field filtering - // XXX get rid of this deep clone once we run it though projection var newDoc = EJSON.clone(published.get(id)); newDoc._id = id; LocalCollection._modify(newDoc, op.o); - handleDoc(id, newDoc); + handleDoc(id, sharedProjectionFn(newDoc)); } else if (LocalCollection._isSelectorAffectedByModifier( cursorDescription.selector, op.o)) { // XXX _isSelectorAffectedByModifier should actually be