
我将用图文的形式,把市面上优质的课程加以自己的理解,详细的把:创建一个uniCloud的应用,其中的每一步记录出来,方便大家写项目中,做到哪一步不会了,可以轻松翻看文章进行查阅。(此文长期更新连载)
目录
读操作getById(了解)
调用云函数
查询条件
limit
skip
orderBy
field
where查询
根据id查
多条件查询
command
neq
in 在数组中(非区间)
且/或(区间)
db.RegExp正则表达式查询
updated修改更新
批量
update结合command的数组高级操作
set与update区别
读操作getById(了解)
先写一个容器,一会放查出来的数据
<view class="home">
<view class="out">
<view class="row">
姓名:{{}}
</view>
</view>
</view>
调用云函数

云函数这样写


也就是说 .doc 要配合 .get 使用
我理解的就是:getById
查询条件
| 查询条件 | where | 通过指定条件筛选出匹配的记录,可搭配查询指令(eq, gt, in, ...)使用 |
| skip | 跳过指定数量的文档,常用于分页,传入 offset | |
| orderBy | 排序方式 | |
| limit | 返回的结果集(文档数量)的限制,有默认值和上限值 | |
| field | 指定需要返回的字段 |
limit

限制数量
结果:

skip
配合limit,用于分页
比如1页5条,要查第2页的数据,就需要把前5条过滤掉不是?
所以就这样写

当然一般不会直接写个 skip(5),一般会写 skip(页数 * 每页几条)
orderBy
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| field | string | 是 | 排序的字段 |
| orderType | string | 是 | 排序的顺序,升序(asc) 或 降序(desc) |

field
指定需要返回的字段
collection.field({ 'name': true }) //只返回name字段、_id字段,其他字段不返回
where查询
可以代替doc
doc只能根据id查,where可以查任何字段
根据id查

就像这样!
也可以查询别的字段

多条件查询

command
就把他理解成对要查询的字段的一些限制

这个等于30,是看不出什么区别,重点是其他,比如大于小于之类的
| 类型 | 接口 | 说明 |
|---|---|---|
| 比较运算 | eq | 字段等于 == |
| neq | 字段不等于 != | |
| gt | 字段大于 > | |
| gte | 字段大于等于 >= | |
| lt | 字段小于 < | |
| lte | 字段小于等于 <= | |
| in | 字段值在数组里 | |
| nin | 字段值不在数组里 | |
| 逻辑运算 | and | 表示需同时满足指定的所有条件 |
| or | 表示需同时满足指定条件中的至少一个 |
neq

其他也同样
in 在数组中(非区间)

这不是年龄段 就是单独的每一个值
且/或(区间)

就是2个操作符结合起来
db.RegExp正则表达式查询
db.RegExp
// 可以直接使用正则表达式
db.collection('articles').where({
version: /^\ds/i
})
// 也可以使用new RegExp
db.collection('user').where({
name: new RegExp('^\\ds', 'i')
})
// 或者使用new db.RegExp,这种方式阿里云不支持
db.collection('articles').where({
version: new db.RegExp({
regex: '^\\ds', // 正则表达式为 /^\ds/,转义后变成 '^\\ds'
options: 'i' // i表示忽略大小写
})
})
有关正则后面单独出文章讲解
updated修改更新


批量

update结合command的数组高级操作
set与update区别
| 接口 | 说明 | |
|---|---|---|
| 写 | update | 局部更新记录(触发请求)只更新传入的字段。如果被更新的记录不存在,会直接返回更新失败 |
| set | 覆写记录;会删除操作的记录中的所有字段,创建传入的字段。如果操作的记录不存在,会自动创建新的记录 |
set会整个覆盖



















