s***@126.com
s***@126.com
  • 发布:2025-08-15 18:53
  • 更新:2025-08-18 14:06
  • 阅读:70

云函数中doc(uid)不可以,但doc(JSON.stringify(uid))可以?

分类:uniCloud

如题,以下是云函数代码,很简单的获取用户信息,但使用doc(uid)就提示权限错误什么的,估计就是id传入错误,必须JSON.stringify(uid)或者doc("'"+uid+"'")才可以,即在uid包一层引号才可以,这是为什么?

补充:阿里云,starter 模板项目

'use strict';  
const common = require('hello-common')  
const createConfig = require('uni-config-center')  
const uniIdCommon = require('uni-id-common')  
const lssConfig = createConfig({  
    pluginId:'lss-stat'  
})  
const config = lssConfig.config()  
exports.main = async (event, context) => {  
    // 从uni-id-common中获取用户信息  
    const userInfo = await uniIdCommon.createInstance(  
        {  
            context:context  
        }  
    )  
    const payload = await userInfo.checkToken(event.uniIdToken)   

    const db = uniCloud.databaseForJQL(event,context)  
    const res = await db.collection('uni-id-users')   
    .doc(JSON.stringify(uid))  
    // .doc('${uid}')  
    // .where("id=="+ JSON.stringify(uid))  
    // .where('id=="${uid}"')  
    .field("username")  
    .get()  
    console.log("res:"+JSON.stringify(res))  

    return  {  
        key:common.testKey,  
        version:common.getVersion()  
    }  
    //返回数据给客户端  
    // return {  
    //  errCode:1,  
    //  errMsg:"错误测试"  
    // }  
};  
2025-08-15 18:53 负责人:无 分享
已邀请:
风之源

风之源 - 我这么闲给你评论,是因为我的问题还没有人回答~

_id不是数字类型,uid是数字类型就会这样。盲猜你是支付宝云。

  • s***@126.com (作者)

    阿里云,starter模板项目测试时发现的。。

    2025-08-17 11:20

DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

uid从哪来的?

要回复问题请先登录注册