字段类型
CloudBase 文档型数据库支持多种数据类型,满足不同场景的数据存储需求。
基础数据类型
特殊数据类型详解
Date 时间类型
Date 类型用于存储时间信息,精确到毫秒级别。支持客户端时间和服务端时间两种创建方式。
客户端时间
使用 JavaScript 内置 Date 对象创建:
// 创建当前时间
const now = new Date();
// 创建指定时间
const specificDate = new Date('2023-12-25 10:30:00');
// 插入数据
db.collection('articles').add({
data: {
title: '文章标题',
createTime: now,
publishTime: specificDate
}
});
服务端时间
使用 serverDate 对象创建服务端当前时间标记:
// 使用服务端时间
db.collection('articles').add({
data: {
title: '文章标题',
createTime: db.serverDate()
}
});
GeoPoint 地理位置类型
GeoPoint 类型用于表示地理位置点,通过经纬度坐标唯一标记一个地理位置。
各SDK实现有所差异,下方分别展示对应示例
创建地理位置
- 小程序
- Web 端
const db = wx.cloud.database();
// 创建地理位置点
const location = db.Geo.Point(116.4, 39.9); // 经度, 纬度
// 插入带有地理位置的数据
db.collection('stores').add({
data: {
name: '北京店',
location: location,
address: '北京市朝阳区'
}
}).then(res => {
console.log('添加成功', res);
}).catch(err => {
console.error('添加失败', err);
});
import cloudbase from '@cloudbase/js-sdk';
const app = cloudbase.init({
env: 'your-env-id'
});
const db = app.database();
// 创建地理位置点
const location = new db.Geo.Point(116.4, 39.9); // 经度, 纬度
// 插入带有地理位置的数据
db.collection('stores').add({
name: '北京店',
location: location,
address: '北京市朝阳区'
}).then(res => {
console.log('添加成功', res);
}).catch(err => {
console.error('添加失败', err);
});
地理位置查询
- 小程序
- Web 端
const _ = db.command
db.collection('restaurants').where({
location: _.geoNear({
geometry: db.Geo.Point(116.4, 39.9),
minDistance: 1000,
maxDistance: 5000,
})
}).get()
const _ = db.command
db.collection('restaurants').where({
location: _.geoNear({
geometry: new db.Geo.Point(116.4, 39.9),
minDistance: 1000,
maxDistance: 5000,
})
}).get()
⚠️ 注意:对地理位置字段进行查询时,请建立地理位置索引,否则查询将失败

