uniapp云储存条件查询
时间: 2024-12-27 20:14:10 浏览: 11
### UniApp 云存储条件查询使用方法
在 UniApp 中执行云存储的条件查询主要依赖于 `uniCloud` 对象提供的 API 方法。对于特定的数据表,可以通过指定查询条件来获取满足这些条件的数据记录。
#### 查询语句结构
构建条件查询的关键在于正确设置 `.where()` 方法中的参数。此参数接受一个对象形式表示的查询条件,该对象定义了所要查找字段以及对应的匹配值或表达式[^2]。
```javascript
// 假设有一个名为 'users' 的集合用于保存用户资料
const db = uniCloud.database();
db.collection('users')
.where({
age: 20, // 查找年龄等于20岁的文档
status: "active", // 并且状态为活跃
})
.get()
.then((res) => {
console.log(res.data); // 输出符合条件的结果数组
});
```
上述代码片段展示了如何向服务器发送请求以检索所有年龄为20岁并且账户处于激活状态 (`status:"active"`) 的用户信息。`.get()` 调用会触发实际的数据读取操作并将返回结果作为 Promise 处理。
#### 高级条件组合
除了简单的相等比较外,还可以利用更复杂的逻辑运算符来进行多维度筛选:
- **大于/小于**: 使用 `$gt`, `$lt` 关键字分别代表 “大于” 和 “小于”
- **范围之间**: 可借助 `$gte`(>=), `$lte`(<=) 实现区间判断
- **不等于**: 应用 `$ne` 表达非精确匹配关系
- **模糊搜索**: 结合正则表达式功能实现部分字符串匹配
下面是一个综合运用多种过滤器的例子:
```javascript
db.collection('products')
.where({
price: { $gt: 100 }, // 单价超过一百元的商品
stock: { $exists: true }, // 存货数量存在即有库存的产品
name: new RegExp('^Apple'), // 名称为 Apple 开头的品牌商品
})
.orderBy('price', 'asc') // 按照价格升序排列
.skip(0).limit(10) // 获取前十个条目
.get()
.then((result) => {
console.table(result.data);
});
```
这段脚本不仅限定了产品列表的价格下限、确认是否有现货供应,还特别指出了名称需以单词 "Apple" 打头的目标项,并最终按照售价由低到高排序显示前十位记录。
阅读全文