卖火柴的咖啡猫
卖火柴的咖啡猫
  • 发布:2023-07-19 10:07
  • 更新:2024-10-25 00:07
  • 阅读:186

太神奇了,为什么schema表的permission几个权限都是false我还可以把订单提交上去?

分类:uniCloud

太神奇了,为什么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:07 负责人:无 分享
已邀请:
CY2021

CY2021 - VX:w526275688

云函数操作数据库时 DB schema不生效 前端操作数据库时 DB schema生效

  • 卖火柴的咖啡猫 (作者)

    啊还有这个说法吗?懵逼了。。。

    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

aspack001

aspack001 - 老程序猿

原来如此

要回复问题请先登录注册