// 云函数
exports.main = async (event, context) => {
//event为客户端上传的参数
console.log('event : ', event)
const db = uniCloud.database() //登录后使用database 添加数据,没报错,但是带有默认值得字段都没有添加
//const db = uniCloud.databaseForJQL() //登录后使用databaseForJQL添加数据,直接报错(未能获取当前用户信息:当前用户为匿名身份)
return db.collection('test').add(event) //event = {content:"test",uniIdToken:"xxxxxxxx"}
};
// 数据库字段模型
{
"bsonType": "object",
"required": [],
"permission": {
"read": true,
"create": true,
"update": true,
"delete": true
},
"properties": {
"_id": {
"description": "ID,系统自动生成"
},
"user_id": {
"description": "对应用户的id",
"foreignKey": "uni-id-users._id",
"forceDefaultValue": {
"$env": "uid"
}
},
"userId": {
"description": "对应用户的id",
"foreignKey": "uni-id-users._id",
"forceDefaultValue": {
"$env": "uid"
}
},
"ip": {
"forceDefaultValue": {
"$env": "clientIP"
}
},
"content": {
"description": "内容"
}
}
}
2 个回复
Hookin丶
uni-id-pages有自带login页面,不知道你是不是用的自带的,可以补充更多关于这点的信息。
uniCloud.databaseForJQL() 是用的 uni-id 体系,uniCloud.database() 则不需要
DB Schema 只对 uniCloud.databaseForJQL()有用
"forceDefaultValue": {
"$env": "uid"
}
表示强制默认值为 uid
c***@126.com
我也碰到同样的问题,解决了吗?