uniCloud-传统方式操作数据库-update

发布时间 2023-09-26 12:36:27作者: Yancy00
云函数
// 修改用户记录
'use strict';
exports.main = async (event, context) => {
	const db = uniCloud.database()
	const dbCmd=db.command
	// let res=await db.collection("users").doc("6512184021821b2af528b4ef").update({
	// 	name:"石狗蛋",
	// 	age:22
	// })

	// let res = await db.collection("users").where({
	// 	name: "石狗蛋"
	// }).update({
	// 	name: "石磊",
	// 	age: 22
	// })

	// let res = await db.collection("users").where({
	// 	_id: "6512184021821b2af528b4ef"
	// }).update({
	// 	hobbys:['抽烟','喝酒','rap']
	// })
	
	// let res = await db.collection("users").where({
	// 	_id: "6512184021821b2af528b4ef"
	// }).update({
	// 	hobbys:{
	// 		0: "学习"
	// 	}
	// })
	
	let res=await db.collection("users").where({
		name:"石磊"
	}).update({   // command数组的一些方法
		// hobbys:dbCmd.unshift(["撸猫","散步"])  // 注意追加时这里放数组
		// hobbys:dbCmd.push(["吃饭","睡觉","打游戏"])
		// hobbys:dbCmd.pop()  // 删除数组末尾元素
		// hobbys:dbCmd.shift()  // 从数组头删除一条
		// inc 多用户同时写
		
		// inc,mul 原子操作,多用户并发操作也不会有问题
		// hits:dbCmd.inc(1)  //原子自增1
		// hits:dbCmd.inc(-2)  //原子自减
		// hits:dbCmd.mul(100) , // 自乘100再赋给自己
		hits:dbCmd.mul(1/100)  // 自除
	})
	
	
	return {
		msg: "修改成功",
		res
	}
};

查询筛选指令 Query Command

以下指令挂载在 db.command 下
类型 接口 说明
比较运算 eq 字段等于 ==
neq 字段不等于 !=
gt 字段大于 >
gte 字段大于等于 >=
lt 字段小于 <
lte 字段小于等于 <=
in 字段值在数组里
nin 字段值不在数组里
逻辑运算 and 表示需同时满足指定的所有条件
or 表示需同时满足指定条件中的至少一个
如果你熟悉SQL,可查询mongodb与sql语句对照表进行学习。

字段更新指令 Update Command

以下指令挂载在 db.command 下
类型 接口 说明
字段 set 设置字段值
remove 删除字段
inc 加一个数值,原子自增
mul 乘一个数值,原子自乘
push 数组类型字段追加尾元素,支持数组
pop 数组类型字段删除尾元素,支持数组
shift 数组类型字段删除头元素,支持数组
unshift 数组类型字段追加头元素,支持数组