t = db.fm4; t.drop(); t.insert({_id: 1, a: 1, b: 1}); assert.eq(t.findOne({}, {_id: 1}), {_id: 1}, 1); assert.eq(t.findOne({}, {_id: 0}), {a: 1, b: 1}, 2); assert.eq(t.findOne({}, {_id: 1, a: 1}), {_id: 1, a: 1}, 3); assert.eq(t.findOne({}, {_id: 0, a: 1}), {a: 1}, 4); assert.eq(t.findOne({}, {_id: 0, a: 0}), {b: 1}, 6); assert.eq(t.findOne({}, {a: 0}), {_id: 1, b: 1}, 5); // not sure if we want to suport this since it is the same as above // assert.eq( t.findOne({}, {_id:1, a:0}), {_id:1, b:1}, 5)