unicloud初级入门07-数据库查询操作where条件

文章介绍了如何在uniCloud中使用JavaScript进行数据库操作,包括查询用户集合(user)根据姓名模糊搜索(正则表达式)和设置不同条件(如年龄范围)。展示了getCondition,getLimit,getById和getAll方法的实现。
摘要由CSDN通过智能技术生成

'use strict';
const db = uniCloud.database();
const dbCmd = db.command;
exports.main = async (event, context) => {
	let {key} = event;
	let res = await db.collection("user").where({
		//age: dbCmd.eq(18)  //等于18岁
		//age: dbCmd.neq(18) //不等于18岁
		//age: dbCmd.gt(18)  //大于18岁
		//age: dbCmd.gte(18) //大于等于18岁
		//age: dbCmd.lt(38)  //小于38岁
		//age:dbCmd.lte(38)  //小于等于38岁
		//age: dbCmd.in([18,38]) //不是区间,在18,38两个条件中的
		//age: dbCmd.nin([18,38]) //不是区间,不在18,38两个条件内的
		//age: dbCmd.gt(18).and(dbCmd.lt(38)) //大于18 ,并且小于38岁的
		//age: dbCmd.and(dbCmd.gt(18),dbCmd.lt(38)) //前置写法,更好理解,大于18,且小于38的
		//age : dbCmd.lt(20).or(dbCmd.gt(35).and(dbCmd.lt(40))) //小于20岁,或35至40之间的
		//name: /^小$/ig  //正则表达式查询,也就是模糊查询like
		name: new RegExp(key,"ig") //i不区分大小写,g全局检索
	}).get();
	
	return res;
};

<template>
	<view>
		<view class="func">
			<button type="default" size="mini" @tap="getData">获取全部数据</button>
			<button type="default" size="mini" @tap="getById">根据id获取数据</button>
			<button type="default" size="mini" @tap="getLimit">获取几条数据</button>
			<button type="default" size="mini" @tap="getCondition">根据条件查询</button>
		</view>
		<view class="test2">
			<view class="row" v-for="item in dataList" :key="item._id">
				姓名:{{item.name}},年龄:{{item.age}}
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				dataList:[]
			};
		},
		onLoad() {
			this.getData();
		},
		methods:{
			//条件查询
			getCondition(){
				uniCloud.callFunction({
					name:"cdemoGetCondition",
					data:{ key: '小'}
				}).then(res=>{
					this.dataList = res.result.data;
				})
			},
			getLimit(){
				let num = 3;
				uniCloud.callFunction({
					name:"cdemoGetLimit",
					data:{num}
				}).then(res=>{
					this.dataList = res.result.data;
				})
			},
			getById(){
				let id = "657d962c466d41a584ce934c";
				uniCloud.callFunction({
					name:"cdemoGetById",
					data:{
						id: id
					}
				}).then(res=>{
					this.dataList = res.result.data;
				});
			},
			getData(){
				uniCloud.callFunction({
					name:"cdemoGetAll",
					data:{}
				}).then(res=>{
					//console.log(res)
					this.dataList = res.result.data;
				})
			}
		}
		
	}
</script>

<style lang="scss">
.test2{
	.row{
		padding: 10rpx 20rpx;
		border-bottom: 1px solid #cccccc;
	}
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虾米大王

有你的支持,我会更有动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值