数据库结构如下
- 我只要
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 }));
结果展示