Using mongoDB-driven find(query, projection), why is projection set or cannot field limit be performed?

  mongodb, question

The code is as follows:

user.find({ username }, { age: 1, _id: 0 }).toArray((err, doc) => {
 if (err) throw err;
 res.send(doc);
 });

The result was a return:[{"_id":"5cbe59baaf2c3739490fd056","username":"zjr","age":19}], instead of returning only the age field as set above,That is to say, this way of writing does not correctly restrict fields..

My current solution is to usecursorTheprojectMethod, the code is as follows:

user.find({ username })
 .project({ age: 1, _id: 0 })
 .toArray((err, doc) => {
 if (err) throw err;
 res.send(doc);
 });

Results returned:[{"age":19}],Correct result.
But ..The official websiteThe API on clearly readsfind(query, options), that is to say, an object can be passed in to restrict the output of the field, but the result is wrong, is there something wrong with me?

Resolved, projection is required as a field.