title: cloud.database header: develop nav: cloud

sidebar: database

获取云开发的云数据库对象

返回值 Database实例

代码示例

  1. const cloud = require('swan-server-sdk')
  2. exports.main = (event, context) => {
  3. cloud.init(context)
  4. const db = cloud.database()
  5. }

Database.collection

获取云数据库指定名称的集合对象

参数

名称 类型 必须 说明
name String 集合名称

返回值:Collection

代码示例

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const db = cloud.database()
  5. const coll = db.collection('articles')
  6. }

Database.command

云数据库操作指令对象,包含相关数据库文档操作指令构造方法

指令列表

名称 类型 说明
set 赋值操作
inc 数值操作 自增
mul 数值操作 自乘
eq 逻辑运算 等于
neq 逻辑运算 不等于
gt 逻辑运算 大于
gte 逻辑运算 大于
lt 逻辑运算 大于
lte 逻辑运算 大于
and 逻辑运算 逻辑与
or 逻辑运算 逻辑或
in 逻辑运算 包含于
nin 逻辑运算 不包含于
pop 数组操作 移出数组尾部元素
push 数组操作 插入到数组尾部
shift 数组操作 移出数组首部元素
unshift 数组操作 插入到数组首部
geoIntersects 地理运算 地理区域相交
geoNear 地理运算 地理区域相邻
geoWithin 地理运算 地理区域包含

代码示例

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const db = cloud.database()
  5. const cmd = db.command
  6. try {
  7. return await db.collection('userList').where({
  8. age: cmd.gt(18)
  9. })
  10. } catch(err) {
  11. console.log(err)
  12. }
  13. }

Database.createCollection

在云数据库中新增集合

参数

名称 类型 必须 说明
name String 集合名称

返回值Promise

resolve 结果:

名称 类型 说明
requestID String 请求ID

reject 结果:

名称 类型 说明
code String 错误码
message String 错误信息

代码示例

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const db = cloud.database()
  5. try {
  6. await db.createCollection('articles')
  7. } catch(err) {
  8. console.log(err)
  9. }
  10. }

Database.Geo

云数据库地理对象,包含相关地理位置信息构造接口

类型列表

名称 说明
Point
MultiPoint 点集合
Linestring 线段
MultiLinestring 线集合
Polygon 多边形
MultiPolygon 多边形集合

代码示例1 - Point

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const db = cloud.database()
  5. const Geo = db.Geo
  6. try {
  7. return await db.collection('poiList').add({
  8. name: '天安门',
  9. location: Geo.Point(116.4074, 39.9042)
  10. })
  11. } catch(err) {
  12. console.log(err)
  13. }
  14. }

代码示例2 - LineString

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const db = cloud.database()
  5. const Geo = db.Geo
  6. try {
  7. return await db.collection('poiList').add({
  8. name: '天安门',
  9. location: Geo.LineString([
  10. Geo.Point(113, 23),
  11. Geo.Point(120, 50),
  12. // ... 可选更多点
  13. ])
  14. })
  15. } catch(err) {
  16. console.log(err)
  17. }
  18. }

Database.serverDate

创建云数据库的服务端时间对象

参数

名称 类型 必须 说明
option Object
option.offset Number 相对当前时间偏移,单位:毫秒

返回值 ServerDate

代码示例

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const db = cloud.database()
  5. try {
  6. return await db.collection('articles').add({
  7. title: 'baidu cbd tutorial',
  8. status: 0,
  9. visits: 0,
  10. createDate: new Date({
  11. offset: 1000
  12. }),
  13. })
  14. } catch(err) {
  15. console.log(err)
  16. }
  17. }

Database.RegExp

创建云数据库的相关指令所需的正则表达式对象

参数

名称 类型 必须 说明
data Object
data.regexp String 正则表达式
data.options String 正则表达式flags: i, m, s

返回值

RegExp

代码示例1

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const db = cloud.database()
  5. try {
  6. return await db.collection('articles').where({
  7. title: /miniprogram/i,
  8. })
  9. } catch(err) {
  10. console.log(err)
  11. }
  12. }

代码示例2

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const db = cloud.database()
  5. try {
  6. return await db.collection('articles').where({
  7. title: db.RegExp({
  8. regexp: '^baidu',
  9. options: 'i',
  10. }),
  11. })
  12. } catch(err) {
  13. console.log(err)
  14. }
  15. }

代码示例3

  1. const cloud = require('swan-server-sdk')
  2. exports.main = async (event, context) => {
  3. cloud.init(context)
  4. const db = cloud.database()
  5. try {
  6. return await db.collection('articles').where({
  7. title: new db.RegExp({
  8. regexp: '^baidu',
  9. options: 'i',
  10. }),
  11. })
  12. } catch(err) {
  13. console.log(err)
  14. }
  15. }