什么是云开发
官网是这么介绍的:帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高
可能有些难懂,说白了就是不需要服务器来部署接口了,通过提供的api直接操作云数据库就可以,可以说前端的小伙伴们,想要自己搞一个小demo的,咱的福音来了呀!!
官网地址
云开发的优点与缺点
与传统的开发相比:传统开发前后端链条,在人力物力上,从物理机托管,到云主机,再到容器,始终需要投入不少。我最早接触云开发是在小程序,小程序可以通过原声接口直接请求云开发
-
优点
-
开发更简单
使用云函数无需关心负载均衡、网关等,极大地降低了后端开发搭建的复杂性,不需自己手动去配置,云函数会根据请求量自动扩缩,自动计算资源去满足业务需求
-
开发更高效快捷
云开发不要求框架或者依赖,想要使用直接引包即可,咱可以专注于核心代码开发,同时尽管有着多人小团队,单个模块无需了解其他人代码细节。可以实现独立开发,想增删改查数据直接掉云函数就行,是不是很方便呢
-
运维更省事
-
成本更低
资源的收费呢是按照请求次来的,可以极大节约成本和时间,还提供一定的免费额度,多是一件美事啊。
-
当然喽,这么好的东西也不是没缺点的,甚至一些缺点对于在一些大的应用场景中是致命的
-
缺点
-
云函数运算时间不超过3秒
-
单次返回数据不得超过1M
-
并发次数有限
-
不适合做数据库数量较大的查询功能
-
云函数读取云数据库单次最多读取100条
-
异步请求需要通过Promise来处理
-
权限结构简单
-
对外开放限制多
-
后期移植不是很方便
云开发比较依赖平台,如果由于场景限制,不得不放弃云开发,那么将面临无法抑制的问题,所以说想自己搞个小项目玩玩没问题,企业中肯定会面临不同的场景限制。
-
开通环境
- 首先去腾讯云官网弄一个账号,没有呢就去注册一个,有就直接登录。
- 前往 云开发 CloudBase 控制台
点击新建
这里选择空模板,点击下一步
然后按照图片选择免费这个即可,点击下一步
点击立即购买即可
基本使用
点击刚刚创建的环境
点击数据库
点击新建集合,创建一个shopList集合
当出现操作成功的字样说明创建完成了,这时候点进去
添加一条数据
假设这个集合用来记录商品信息,那么必然有商品名称(name),商品价格(price),填好后点击确定
看到多了一条数据,说明创建成功了,然后将此条记录导出
这里有两种格式(json和csv),用默认的json就好,点击导出
打开这个json文件进行编辑
可以看到导出来一条数据
我这里直接写代码创建一些数据
let arr = []
for (let i = 0; i < 100; i++) {
arr.push({
"name": `洗发水${i}`,
"price": ~~(Math.random() * 100) + 1
})
}
console.log(arr);
然后导入进集合中
做完上面三步点击导入静静等待即可,数据出现时代表导入成功了
那如果想查数据怎么办呢,看见那个高级筛选了没,没错点他,比如要查几个大于等于50的商品
至于编辑和删除功能这里就不说了
用命令进行增删改查
当然了,虽然上面介绍了操作界面对数据的操作,最后肯定需要用命令操作的
- 添加
db.collection("shopList")
.add({
name:"牙刷",
price:2
})
在数据库中就可以看到新添加的结果了
- 查找
db.collection("shopList")
.where({
price: _.gt(50)
})
.field({
name: true,
price: true
})
.orderBy("price", "desc")
.skip(1)
.limit(10)
.get()
单条查找
db.collection("shopList").doc('563f33cc623568aa00122ee05c1e147f')//doc里为要操作的id(包括删除,查找,修改)
.get()
- 修改
db.collection("shopList").doc('563f33cc623568aa00122ee05c1e147f')//doc里为要操作的id(包括删除,查找,修改)
.update({//局部修改 将price价格改成197
price:197
})
查询下看看是否修改成功
- 删除
db.collection("shopList").doc('563f33cc623568aa00122ee05c1e147f')//doc里为要操作的id(包括删除,查找,修改)
.remove()
再次查询试试
发现已经查不到了,已经被删除了
结尾
到这里其实以上命令知道在项目中使用也是大同小异,引个包就可以随便玩了,我后期会考虑再写个在实际项目里的应用的(暂定vue项目吧),如果文章有什么不正确的地方,欢迎评论区留言
vue项目中用云开发入口