mongodb隱藏字段
mongodb中所有字段默認(rèn)都會(huì)被查找到,若我們不想讓字段被查找到,可以在字段后面加上: select:false,表示該字段在find()查找的時(shí)候會(huì)被過(guò)濾掉
獲取被隱藏的字段
但是一些特殊情況,比如我們?cè)讷@取我們自己的個(gè)人信息的時(shí)候,我們應(yīng)該是可以獲取到我們自己的全部信息的,那么我們可以用過(guò)select()方法,通過(guò)特定的字符串獲取指定的字段
格式如:select(' +education +gender')
async findById(ctx) {
const { fields } = ctx.query
var selectedfields = ''
if (fields) {
const fieldsArray = fields.split(';')
selectedfields = fieldsArray.map(element => ' +' + element).join('')
}
const user = await await User.findById(ctx.params.id).select(selectedfields)
if (!user) {
ctx.throw(404, '用戶不存在')
}
ctx.body = user
}