字段过滤

2020-03-26  本文已影响0人  HuFan_JS

mongodb隐藏字段

mongodb中所有字段默认都会被查找到,若我们不想让字段被查找到,可以在字段后面加上: select:false,表示该字段在find()查找的时候会被过滤掉

获取被隐藏的字段

但是一些特殊情况,比如我们在获取我们自己的个人信息的时候,我们应该是可以获取到我们自己的全部信息的,那么我们可以用过select()方法,通过特定的字符串获取指定的字段
格式如: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
  }
上一篇下一篇

猜你喜欢

热点阅读