docs: function _queryField2where (container, k, v, md) {
    let field, query
  
    if (reg.test(k) && !regOr.test(k) && !regOrAnd.test(k)) {
      field = k.replace(reg, '')
      if (md) { // 判断k是否在该表中
        if (!Object.keys(this.models[md].attributes).includes(field)) {
          return
        }
      } else {
        if (!this.attributes.includes(field)) {
          return
        }
      }
  
      query = k.match(reg)[1]
      if (container[field]) {
        let tempValue = container[field]
  
        container[field] = {[Op.or]: {}}
        container[field][Op.or][queryMap[query].name] = queryMap[query].handler(v)
        _.isObject(tempValue) ? _.assign(container[field][Op.or], tempValue) : container[field][Op.or][Op.eq] = tempValue
      } else {
        container[field] = {}
        container[field][queryMap[query].name] = queryMap[query].handler(v)
      }
    } else if (regOr.test(k)) {
      field = k.replace(regOr, '')
      if (!this.attributes.includes(field)) {
        return
      }
      query = k.match(regOr)[1]
      let x = {}
  
      x[field] = {}
      x[field][queryMap[query].name] = queryMap[query].handler(v)
      _.isArray(container[Op.or]) ? container[Op.pr].push(x) : container[Op.or] = [x]
    } else if (regOrAnd.test(k)) {
      field = k.replace(regOrAnd, '')
      if (!this.attributes.includes(field)) {
        return
      }
      query = k.match(regOrAnd)[1]
      let x = {}
  
      x[field] = {}
      x[field][queryMap[query].name] = queryMap[query].handler(v)
      if (_.isArray(container[Op.or])) {
        let condition = _.find(container[Op.or], i => _.has(i, Op.and))
  
        condition ? condition[Op.and].push(x) : container[Op.or].push({[Op.and]: [x]})
      } else {
        container[Op.or] = [{[Op.and]: [x]}]
      }
    } else if (this.attributes.includes(k) || md && Object.keys(this.models[md].attributes).includes(k)) {
      container[k] = v
    }
  }