字段过滤与扩展

danger
该操作适用于 SDK version >= v1.3.0

字段过滤

使用 select 来控制请求返回的字段

在 get 方法中使用

  1. var Product = new wx.BaaS.TableObject(tableID)
  2. // 规定返回特定字段
  3. Product.select('created_at').get(recordID)
  4. // or
  5. Product.select(['created_at', 'created_by']).get(recordID)
  6. // 规定不返回特定字段
  7. Product.select('-created_at').get(recordID)
  8. // or
  9. Product.select(['-created_at', '-created_by']).get(recordID)

在 find 方法中使用

  1. var Product = new wx.BaaS.TableObject(tableID)
  2. var query = new wx.BaaS.Query()
  3. query.compare('amount', '>', 0)
  4. // 规定返回特定字段
  5. Product.setQuery(query).select('created_at').find()
  6. // or
  7. Product.setQuery(query).select(['created_at', 'created_by']).find()
  8. // 规定不返回特定字段
  9. Product.setQuery(query).select('-created_at').find()
  10. // or
  11. Product.setQuery(query).select(['-created_at', '-created_by']).find()

注:

通过数组控制请求返回字段时,若数组内元素同时存在“规定返回”和“规定不返回”的字段,如:['-created_at', 'created_by']。后端服务会忽略掉此次操作,直接返回所有字段。

字段扩展

目前仅支持 expand created_by。返回结果中的 created_by 会被替换为这个字段对应的完整对象,也即这条记录的创建者信息。

expand 返回结果示例

不使用 expand

  1. {
  2. "created_at": 1516118400,
  3. "created_by": 1234,
  4. "id": "5a2fa9b008443e59e0e67829",
  5. "name": "小米无线耳机",
  6. "price": 199,
  7. }

使用 expand

  1. {
  2. "created_at": 1516118400,
  3. "created_by": {
  4. "avatar": "https://media.ifanrusercontent.com/tavatar/fb/cd/xxxx.jpg",
  5. "id": 62536607,
  6. "nickname": "Larry。"
  7. },
  8. "id": "5a2fa9b008443e59e0e67829",
  9. "name": "小米无线耳机",
  10. "price": 199,
  11. }

使用方法

在 get 方法中使用

  1. var Product = new wx.BaaS.TableObject(tableID)
  2. Product.expand('created_by').get('5acc2904da6b737322a82f78')

在 find 方法中使用

  1. var Product = new wx.BaaS.TableObject(tableID)
  2. var query = new wx.BaaS.Query()
  3. query.compare('amount', '>', 0)
  4. // 扩展特定字段
  5. Product.setQuery(query).expand('created_by').find()