太神奇了,为什么schema表的permission几个权限都是false我还可以把订单提交上去?而且我的订单表关联了user表的id,提交订单竟然不能自动取到user表的id,没办法只好自己提交上去,见代码,为什么就和文档介绍中的不一样呀,求大佬解惑
用户身份是普通用户,不是admin用户
云函数(提交订单中部分字段删掉了,不影响订单提交)
'use strict';
const db = uniCloud.database()
const collection = db.collection('opendb-mall-goods')
exports.main = async (event, context) => {
try {
const result = await collection.add({
name: event.name,
single:event.single,
userid: event.userId, // 设置userid属性的值为传入的用户id
})
console.log('result:', result)
return {
code: 0,
message: '提交订单成功',
data: result.data,
}
} catch (err) {
return {
code: -1,
message: '提交订单失败',
data: err.message,
}
}
}
//提交订单
async formSubmit(e) {
// console.log(e)
try {
// 获取登录用户信息
const userInfo = uni.getStorageSync('uni-id-pages-userInfo')
const res = await uniCloud.callFunction({
name: 'submission',
data: {
userId: userInfo._id, // 将用户id传入到云函数中
name: this.name,
single:this.single
},
})
// console.log('res:', res)
if (res.result.code === 0) {
// uni.showToast({
// title: '提交订单成功',
// })
// 跳转到提交成功页面,本页面不提示
uni.reLaunch({ url: '/pages/success/success' });
} else {
uni.showToast({
title: '提交订单失败',
icon: 'none',
})
}
} catch (err) {
console.error('error:', err)
uni.showToast({
title: '提交订单失败',
icon: 'none',
})
}
}
订单表(关联和权限部分)
"permission": {
"read": false,
"create": false,
"update": false,
"delete": false,
"count": false // 禁止查询数据条数(admin权限用户不受限),
},
"properties": {
"_id": {
"description": "存储文档 ID(商品 ID),系统自动生成"
},
"userid": {
"bsonType": "string",
"description": "用户ID, 参考`uni-id-users` 表",
"foreignKey": "uni-id-users._id",
"defaultValue": {
"$env": "uid"
}
},
"name": {
"bsonType": "string",
"description": "商品名称",
"title": "名称",
"trim": "both"
},
卖火柴的咖啡猫 (作者)
啊还有这个说法吗?懵逼了。。。
2023-07-19 10:59
CY2021
回复 1***@qq.com: 你一定是没好好看文档,文档里有详细说明的
2023-07-19 11:15
DCloud_uniCloud_JSON
回复 1***@qq.com: 如果云函数内用 jql 操作数据库,schema也生效
2023-07-19 14:59