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)