Использую mongo native драйвер для node.js
Мне необходимо получить только 2 поля, сейчас реализую так
return ( async() => {
let res = await collection.findOne({username:userName});
return {
id : res.id,
userName : res.username
};
})();
Но так, получаю весь документ, и дальше его фильтрую - было бы производительнее сразу получать нужные поля.
В доках написано что в аргумент можно передать поля которые необходимо получить (fields)
collection.findOne(query, [fields, [options]], callback);
Передаю так
let res = await collection.findOne({username:userName},{id : true, username : true});
но возвращается весь документ целиком.