小知识,大挑战!本文正在参与「程序员必备小知识」创作活动
本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。
什么是轻服务
轻服务是字节跳动出品的一款面向未来的云服务平台,为开发者提供了数据库、页面托管和资源存储等云服务,让开发者无需搭建服务器即可快速开发网页、小程序等...
开始上手
进入轻服务官网首页,注册并通过实名认证后,在首页开始创建第一个服务
创建第一个服务
- 点击创建服务
- 在弹出框内输入服务名称
project
稍等片刻后我们就进入到了我们创建的服务的控制面板了
云函数
云函数是组成轻服务应用的基本单元,也是开发者编写主要业务和功能的地方。
快速创建一个云函数
- 点击侧边栏-云函数
- 点击创建函数
3. 在弹出框内输入云函数名
myFunction,点击确定
调试云函数
轻服务提供了在线调试函数的功能,方便开发者在开发时快速查看函数运行结果。
输入调试的参数Params后点击启动调试即可调试函数,运行完成后可以在控制台看到运行结果
上线云函数
云函数编写完成后,需要点击上线才可以在真实环境中使用
等待云函数上线完成后,点击上方的复制调用地址即可将调用地址复制到剪切板
调用云函数
axios.post('https://qcvrso.fn.thelarkcloud.com/myFunction', params)
安装依赖库
在左下角NPM依赖中点击+号,在弹出框中输入需要安装的npm包,选择对应的版本号后点击安装即可快速安装
卸载依赖库
将鼠标移至右下角对应包右侧的删除按钮,就可以快速卸载已经安装的包
数据库
快速创建第一张表
点击侧边栏的数据管理,进入页面后点击创建
在弹出框中输入表名
books,点击确定
- 表名需要由「数字」、「字母」、「下划线」组成且不能以「下划线」开头。
- 每个服务表数上限为 100 个。
插入数据
- 使用 inspirecloud.db.table 获取数据表
const table = inspirecloud.db.table('books');
- 使用 save 方法新增一条记录
const result = await tableable.save({name: '小王子', author: 'Antoine de Saint-Exupéry'});
return result;
点击启动调试后可以在控制台看到运行结果
重新进入数据库可以看到
books表中新增了一条记录:
查询数据
- 根据某个字段查询数据
查询满足条件的一条数据
fineOne
const table = inspirecloud.db.table('books');
const result = await table.where({name: '小王子'}).findOne()
return result
查询所有满足条件的数据find
const table = inspirecloud.db.table('books');
const result = await table.where({name: '小王子'}).find()
return result
点击启动调试可以看到控制台输出
如果需要以_id查询数据,需要使用
where({ _id: ObjectId('xxxxx')})
- 根据字段值大于(小于)某个值查询数据
查询条件为price字段值大于100db.gt()
const book = await BooksTable.where({ price: db.gt(100) }).find();
price字段值小于100db.lt()
const book = await BooksTable.where({ price: db.lt(100) }).find();
price字段值大于或等于100db.gte()
const book = await BooksTable.where({ price: db.gte(100) }).find();
price字段值小于或等于100db.lte()
const book = await BooksTable.where({ price: db.lte(100) }).find();
- 按字段所处区间查询数据 price字段值区间为[100,200]
const book = await BooksTable.where({ price: db.gte(100).lte(200) }).find();
- 多个条件查询数据
查询书名为小王子且价格区间在[100,200]之间的书
const book = await BooksTable.where({ name: '小王子', price: db.gte(100).lte(200) }).find();
更改数据
先查询到对应数据,使用save方法更新到数据库
// 修改图书名
module.exports = async function(params, context) {
// 使用 inspirecloud.db.table 获取数据表
const BookTable = inspirecloud.db.table('books');
// 使用 where 指定查询条件为 _id 字段值等于id
let book = await BookTable.where({_id: ObjectId(params.id)}).findOne();
// 若未查找到记录,则初始化一条记录
if(!book){
book = BookTable.create({name: params.name, author: params.author});
}else {
book.name = params.name
}
await BookTable.save(book);
return {
result: book,
};
}
删除数据
查询对应数据,使用delete方法从数据库中删除数据
module.exports = async function(params, context) {
// 使用 inspirecloud.db.table 获取数据表
const BookTable = inspirecloud.db.table('books');
// 使用 where 指定查询条件为库存数小于或等于 100
const book = await BookTable.where({ name: '小王子' }).find();
// 使用 delete 删除这些记录
const result = await BookTable.delete(book);
return {
result,
};
}
上面介绍了几种简单的操作数据的方法,更多具体的常用方法可以查看轻服务官方文档
页面托管
轻服务提供了页面部署的功能,开发者只需几步即可快速部署页面,并提供一个可以访问的HTTPS域名
在你的Vue或React项目中运行npm run build打包项目,并将生成的dist文件夹压缩成.zip文件后上传即可快速部署到轻服务中