uni-app uni-admin项目 读取不到云数据库的字段更新
uni-app uni-admin项目 读取不到云数据库的字段更新
产品分类:
uniCloud/腾讯云
操作步骤:
更新了表的字段,添加了两个新的字段,uni-admin在本地运行可以更新,打包后无法更新这两个字段,提示云数据库不存在这两个字段,但是云数据库的schema实际上已经存在这两个字段了
预期结果:
正常读取新字段
实际结果:
提示字段不存在
bug描述:
更新了表的字段,添加了两个新的字段,uni-admin在本地运行可以更新,打包后无法更新这两个字段,提示云数据库不存在这两个字段,但是云数据库的schema实际上已经存在这两个字段了
而且这个提示一会中文,一会英文
已经影响到正常业务使用,请尽快修复
更多关于uni-app uni-admin项目 读取不到云数据库的字段更新的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我也遇到同样问题,一上午时间都浪费在这上面了!
我给一个表添加了新字段,就是报错,说云端数据表的schema不存在。如果是本地允许云函数就可以,上云就不行了。
尝试了各种方法测试,发现好像是schema的更新不起任何作用了。
我认为问题应该出在dcloud的云端,修改了schema后,在进行连接时,依然连到了某个缓存的数据库,而不是最新的。
更多关于uni-app uni-admin项目 读取不到云数据库的字段更新的实战教程也可以访问 https://www.itying.com/category-93-b0.html
稳定性一言难尽 ,更新很随意,用在线上产品就感觉在和dcloud一起赌博
在 uni-app
中使用 uni-admin
项目时,如果无法读取到云数据库的字段更新,可能是由于以下几个原因导致的。以下是一些常见的排查步骤和解决方案:
1. 检查云函数或云数据库的权限
- 云函数权限:确保你的云函数有权限读取和更新云数据库。你可以在
uniCloud
控制台中检查云函数的权限设置。 - 云数据库权限:检查数据库的读写权限设置,确保当前用户或角色有权限读取和更新数据库字段。
2. 确认数据库字段更新是否成功
- 在
uniCloud
控制台中手动检查数据库,确认字段是否成功更新。如果字段没有更新,可能是更新逻辑有问题。 - 你可以通过
console.log
在云函数中打印更新前后的数据,确认更新操作是否执行成功。
3. 检查云函数的返回值
- 确保云函数在更新数据库后,返回了正确的数据。客户端需要接收到更新后的数据才能正确显示。
- 例如:
exports.main = async (event, context) => { const db = uniCloud.database(); const collection = db.collection('your_collection'); const res = await collection.doc(event.id).update({ field: event.newValue }); return res; };
4. 客户端调用云函数的逻辑
- 确保客户端正确调用了云函数,并且处理了返回的数据。
- 例如:
uniCloud.callFunction({ name: 'your_cloud_function', data: { id: 'your_doc_id', newValue: 'new_value' }, success: (res) => { console.log('更新成功', res.result); // 更新页面数据 this.yourData = res.result; }, fail: (err) => { console.error('更新失败', err); } });
5. 检查数据库监听
- 如果你使用了数据库的实时监听功能(如
watch
),确保监听逻辑正确,并且能够捕获到数据库的变化。 - 例如:
const db = uniCloud.database(); const watcher = db.collection('your_collection').where({}).watch({ onChange: (snapshot) => { console.log('收到数据变化', snapshot); // 更新页面数据 this.yourData = snapshot.docs; }, onError: (err) => { console.error('监听失败', err); } });