Expressとノードでマングースを使用してRESTAPIを作成しています。新しいオブジェクトを保存したら、そのオブジェクトをユーザーに返したいと思います。ただし、パスワード、クレジットカードの詳細、権限、請求履歴など、一部の機密フィールドは返送しないでください。
.selectに相当するものがあり、フィールドのサブセットだけを選択してユーザーに返すことができると思いました。ただし、これは存在しないようです。「標準」は、次のように、ユーザーに返したくないフィールドを削除することだけです。
org.save(function(err, org) {
if (err) return handleError(err, res);
orgobj = org.toObject();
delete orgobj.__v;
delete orgobj._id;
delete orgobj.billing;
delete orgobj.plans;
delete orgobj.permissions;
return res.send(orgobj);
});
より効率的な方法はありますか?後でフィールドが追加された場合、誰かがそれを具体的に削除することを忘れないようにする必要があるため、これは好きではありません。また、パフォーマンス上の理由から、フィールドを「再選択」したくありません。