// SERVER-6468 nested and dotted projections should be treated the same c = db.c; c.drop(); c.save( { a:'foo', b:{ c:'bar', z:'not there' } } ); function test(projection) { res = c.aggregate({$project: projection}) assert.eq(res.toArray()[0], {b: {c: 'bar'}}); } // These should all mean the same thing test({_id:0, 'b.c':1}) test({_id:0, 'b.c':'$b.c'}) test({_id:0, b: {c:1}}) test({_id:0, b: {c:'$b.c'}})