支付宝小程序Serverless 阿里云能力API·Serverles 数据库管理

2020-09-18 14:37 更新

云数据库(数据存储服务)是基于 MongoDB 托管在云端的数据库,数据以 JSON 格式存储。作为开发者,您可以在客户端内直接操作数据,也可以在云函数中读写数据。

步骤一:设置数据表权限

小程序 Serverless 提供了一套简明易懂的 JSON 语法用来控制用户对资源的访问,类似于身份验证体系里的 IAM 或者网络安全中的 ACL。您可以通过修改权限规则来控制数据表权限。

小程序 Serverless 会为每个新建的数据表自动提供一个默认权限规则。默认新建数据表无任何操作权限,您可以通过添加权限规则管理数据表的权限。

  1. 打开小程序云控制台,在 云数据库 页面,单击权限图标。

  1. 设置数据库权限 页面,设置权限规则。然后直接修改安全规则。

  1. 修改完成后,单击 确定

数据库权限.jpg

步骤二:数据库操作

创建数据表

小程序 Serverless 服务使用的是分布式文件存储数据库 MongoDB,以 JSON 格式存储数据。数据库中的每条记录都是一个 JSON 格式的对象,一个数据库可以包含多个集合(相当于关系型数据库中的表)。您可以在控制台上创建数据表。

  1. 打开小程序云控制台,在 云数据库 页面,选择要关联的环境。
  2. 单击添加图标,输入数据表名称,最后单击 确定

小程序端调用

1.在小程序项目的根目录执行以下命令安装 SDK。

npm install @alicloud/mpserverless-sdk --save

2.在 app.js 中初始化 SDK(全局只需初始化一次)。

// 1. 引入必要的 sdk
import MPServerless from '@alicloud/mpserverless-sdk';

 
// 2. 在 app.js 中对 sdk 进行初始化
  // 2.1 初始化
MPServerlessmy.serverless = my.serverless || new MPServerless({
  uploadFile: my.uploadFile,
  request: my.request,
  getAuthCode: my.getAuthCode,
}, {
  // 2.2 参数能在小程序云服务空间详情中获取
appId: '',
  spaceId: '',
  clientSecret: '',
  endpoint: ''});

3.在小程序页面操作数据库。

// 1.添加一条记录


my.serverless.db.collection('users').insertOne({
    name: 'tom',
    age: 1})
.then(res => {})
.catch(console.error);


// 2.删除一条记录
my.serverless.db.collection('users')
  .deleteOne({
    name: 'Tom'  })
  .then((res) => {
    const hasDeleted = res.affectedDocs > 0;
  })
  .catch(console.error);


// 3.更新集合中的一条记录
my.serverless.db.collection('users').updateOne({
    name: 'jerry'}, {
    $set: {
        age: 10    }
})
.then(res => {})
.catch(console.error);


// 4.查询一条记录
// 调用findOne方法查询大于且最接近18岁的一条记录的name
// projection: { name: 1 }表示只返回name字段,其中1表示过滤,0表示排除
// sort: { age: 1 }表示将查询后的结果按升序排列,其中1表示升序,-1表示降序
my.serverless.db.collection('users')
  .findOne({
    age: { $gt: 18 }
  }, {
    projection: { name: 1 },
    sort: { age: 1 }
  })
  .then(res => { })
  .catch(console.error);

云函数端调用

// 添加一条记录
module.exports = async function (ctx) {
  return await ctx.mpserverless.db.collection('users').insertOne({
     name: 'tom',
      age: 1  });
 };

设置数据库索引

使用数据库时,对成为查询条件的字段设置索引可以有效提高查询效率,更快的获取信息。缺省情况下会对_id_字段默认创建一个非唯一索引。

  1. 在数据库页面,单击目标数据表,然后单击 索引 页签进入索引设置页面。

  1. 单击 添加索引 进入索引设置页面。.

  1. 填写索引名称,设置索引属性、索引字段。

  • 索引属性:可以设置为唯一索引或非唯一索引。

将字段设置为唯一索引后,可以防止不同记录的被索引键上存储相同值。

  • 索引字段:支持单键索引和复合索引设置,字段按升序或降序排列。

单键索引是最常见的索引形式,针对一个指定字段建立索引。对于单字段索引,升序、降序的查询效果一样。

复合索引是是单键索引的升级版,针对多个字段联合创建索引,先按照第一个字段排列,第一个字段相同的记录按第二个字段排列,依次类推。

  1. 单击 保存 按钮,保存索引设置。

索引.jpg

开发者技术支持群

加入支付宝小程序 Serverless 开发者群参与讨论,钉钉搜索群号:21922182,或使用钉钉扫描二维码加入。

image



支付宝扫描以下二维码登陆官方小程序【小程序云开发助手】,获取更多云开发教程以及在线体验云开发。

推广码.jpg

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号