数据库结构如下
- 我只要
email
userName
sex
role
几个数据,其余不要
{
_id: new ObjectId('65e7b6df8d06a0623fa899f5'),
email: '12345@qq.com',
pwd: '$2a$10$eLJ9skKEsQxvzHf5X8hbaOXKtg8GCHBeieieSN6Usu17D2DPaI44i',
userName: '默认昵称0769',
sex: 0,
token: {
upCount: 0,
_id: new ObjectId('65e7b6df8d06a0623fa899f6'),
createdAt: 2024-03-06T00:20:47.887Z,
updatedAt: 2024-03-06T00:20:47.887Z
},
role: {
role: 0,
menuAndAuth: [ 100, 103 ],
menuInfo: [ [Object], [Object] ],
_id: new ObjectId('65e7b6df8d06a0623fa899f7')
},
createdAt: 2024-03-06T00:20:47.888Z,
updatedAt: 2024-03-06T00:20:47.888Z,
__v: 0
}
参数介绍
- findOne(f,resF) ,其余方法还有find等等同理
- f 过滤
- type:Object
- resF 对返回的查询结果过滤
- type:Object | String 可以是对象,也可以是字符串
- Object 过滤对象
- value
- true 过滤返回的数据
- false 不过滤返回的数据
- 例:过滤查询的密码:
await Users.findOne({ email: '12345@qq.com' }, { pwd: false })
- value
- String
-
表示过滤返回的结果- 例:
await Users.findOne({ email: '12345@qq.com' },’-pwd‘)
- Object 过滤对象
- type:Object | String 可以是对象,也可以是字符串
- f 过滤
代码展示
console.log(await Users.findOne({ email: '12345@qq.com' }, '-createdAt -updatedAt -__v -pwd -_id -role._id -token'));
console.log(await Users.findOne({ email: '12345@qq.com' }, { pwd: false }));
结果展示