支持的数据类型

数据库提供以下几种数据类型:

  • String:字符串
  • Number:数字
  • Object:对象
  • Array:数组
  • Bool:布尔值
  • GeoPoint:地理位置点
  • GeoLineStringL: 地理路径
  • GeoPolygon: 地理多边形
  • GeoMultiPoint: 多个地理位置点
  • GeoMultiLineString: 多个地理路径
  • GeoMultiPolygon: 多个地理多边形
  • Date:时间
  • Null

注意

  • 阿里云数据库在存入emoji表情时会导致uniCloud控制台无法获取数据列表,目前阿里正在处理此问题,开发者可以先自行过滤一下

以下对几个特殊的数据类型做个补充说明

时间 Date

Date 类型用于表示时间,精确到毫秒,可以用 JavaScript 内置 Date 对象创建。需要特别注意的是,用此方法创建的时间是客户端时间,不是服务端时间。如果需要使用服务端时间,应该用 API 中提供的 serverDate 对象来创建一个服务端当前时间的标记,当使用了 serverDate 对象的请求抵达服务端处理时,该字段会被转换成服务端当前的时间,更棒的是,我们在构造 serverDate 对象时还可通过传入一个有 offset 字段的对象来标记一个与当前服务端时间偏移 offset 毫秒的时间,这样我们就可以达到比如如下效果:指定一个字段为服务端时间往后一个小时。

那么当我们需要使用客户端时间时,存放 Date 对象和存放毫秒数是否是一样的效果呢?不是的,我们的数据库有针对日期类型的优化,建议大家使用时都用 Date 或 serverDate 构造时间对象。

  1. //服务端当前时间
  2. new db.serverDate()
  1. //服务端当前时间加1S
  2. new db.serverDate({
  3. offset: 1000
  4. })

Tips

  • 使用阿里云作为服务提供商时,如需存入日期类型,需要2020-02-10T04:59:05.579Z形式,即可以在云函数中使用new Date().toISOString()得到。

地理位置

阿里云暂不支持地理位置类型

Null

Null 相当于一个占位符,表示一个字段存在但是值为空。