【翻译一下官方文档】认识uniCloud云数据库(基础篇)

我将用图文的形式,把市面上优质的课程加以自己的理解,详细的把:创建一个uniCloud的应用,其中的每一步记录出来,方便大家写项目中,做到哪一步不会了,可以轻松翻看文章进行查阅。(此文长期更新连载)

目录

了解uni开发者控制台

 创建云数据库

 新建表

看文档

操作云数据库——读

创建一个云函数

 连接云数据库

拿到数据库里的表

对集合的操作:

执行“读”操作

在APP.vue中调用

 操作云数据库——计数

  操作云数据库——新增

 批量插入


了解uni开发者控制台


 

 创建云数据库

 新建表

 

 uniCloud提供了一个 JSON 格式的文档型数据库。顾名思义,数据库中的每条记录都是一个 JSON 格式的文档。

  • 一个uniCloud服务空间,有且只有一个数据库;
  • 一个数据库可以有多个表;
  • 一个表可以有多个记录;
  • 一个记录可以有多个字段。

翻译一下:如果纯小白就把数据库表理解成一个excel就行,本质上完全一样,你非要理解成你写纸上的一些记录也不错。

假设我们要创建如下一个表

 我们需要这样写:

 

 

{
    "name":"coderWWH",
    "gender":"man",
    "tel":18888888888,
    "mail":"18888888888@163.com"
}

点击确定之后便会生成这样一条记录

 我们多添加几条,方便后面用

 以后我们会有其他办法,不需要手动添加

看文档

翻译一下:我们要是纯零基础,如果按顺序看文档,是很容易被劝退,这里我带大家直接看最后一篇

操作云数据库——读

创建一个云函数

 连接云数据库

const db = uniCloud.database();

拿到数据库里的表

const collection = db.collection('user');

对集合的操作:

类型接口说明
add新增记录(触发请求)
计数count获取符合条件的记录条数
get获取集合中的记录,如果有使用 where 语句定义查询条件,则会返回匹配结果集 (触发请求)
引用doc获取对该集合中指定 id 的记录的引用
查询条件where通过指定条件筛选出匹配的记录,可搭配查询指令(eq, gt, in, ...)使用
skip跳过指定数量的文档,常用于分页,传入 offset
orderBy排序方式
limit返回的结果集(文档数量)的限制,有默认值和上限值
field指定需要返回的字段

执行“读”操作

const db = uniCloud.database();

exports.main = async (event, context) => {
	let res = await db.collection('user').get();
	return res;
};

在APP.vue中调用

onLoad() {
	uniCloud.callFunction({
	name:"cloudDemo1",
	data:{}
}).then(res => {
	console.log(res)
	})
},

 操作云数据库——计数

await db.collection('user').count()

  操作云数据库——新增

let res = await db.collection('user').add({
		name:"teacher3",
		tel:33333333333
})

返回值

 在表里刷新一下

 批量插入

// 单条插入数据
let res = await collection.add({
  name: 'Ben'
})
// 批量插入数据
let res = await collection.add([{
  name: 'Alex'
},{
  name: 'Ben'
},{
  name: 'John'
}])
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在MySQL数据库中存储圆形要素,需要使用空间数据类型和空间函数。 MySQL支持几种空间数据类型,包括POINT、LINESTRING、POLYGON、MULTIPOINT、MULTILINESTRING、MULTIPOLYGON和GEOMETRYCOLLECTION。其中,圆形可以用POLYGON类型来表示。一个简单的圆形可以表示为一个由多边形组成的正多边形,多边形的边数越多,表示的圆形越接近圆形。 例如,以下代码创建了一个圆形的多边形: ``` SET @center = GeomFromText('POINT(116.397428 39.90923)'); SET @radius = 1000; SET @poly = CONCAT('POLYGON((', X(@center) + @radius * COS(RADIANS(45)),' ', Y(@center) + @radius * SIN(RADIANS(45)),',', X(@center) + @radius * COS(RADIANS(135)),' ', Y(@center) + @radius * SIN(RADIANS(135)),',', X(@center) + @radius * COS(RADIANS(225)),' ', Y(@center) + @radius * SIN(RADIANS(225)),',', X(@center) + @radius * COS(RADIANS(315)),' ', Y(@center) + @radius * SIN(RADIANS(315)),',', X(@center) + @radius * COS(RADIANS(45)),' ', Y(@center) + @radius * SIN(RADIANS(45)),'))'); ``` 在MySQL中,可以使用空间函数进行圆形的操作,例如计算两个圆形之间的距离、判断一个点是否在圆形内等。 以下是一个例子,计算一个点是否在圆形内: ``` SET @center = GeomFromText('POINT(116.397428 39.90923)'); SET @radius = 1000; SET @point = GeomFromText('POINT(116.383668 39.902188)'); SELECT Contains( GeomFromText(CONCAT('POLYGON((', X(@center) + @radius * COS(RADIANS(45)),' ', Y(@center) + @radius * SIN(RADIANS(45)),',', X(@center) + @radius * COS(RADIANS(135)),' ', Y(@center) + @radius * SIN(RADIANS(135)),',', X(@center) + @radius * COS(RADIANS(225)),' ', Y(@center) + @radius * SIN(RADIANS(225)),',', X(@center) + @radius * COS(RADIANS(315)),' ', Y(@center) + @radius * SIN(RADIANS(315)),',', X(@center) + @radius * COS(RADIANS(45)),' ', Y(@center) + @radius * SIN(RADIANS(45)),' ))'), @point ); ``` 如果返回值为1,则表示点在圆形内,否则不在。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值