uni-admin icon indicating copy to clipboard operation
uni-admin copied to clipboard

部署了admin,注册了一个管理帐号后,管理者注册按钮还是没有改变

Open guominfang opened this issue 10 months ago • 3 comments

Image

通过查看代码,是 db.collection("uni-id-users").where({role:"admin"}).count(); 这个 jql查不出用户,应该如何修改

guominfang avatar Mar 07 '25 17:03 guominfang

你是支付宝云吗?如果是支付宝云空间部署的, role这个字段需要加 array类型的索引

qq370725567 avatar Mar 10 '25 03:03 qq370725567

@qq370725567 是的,部署到支付宝云,在哪里加这个array类型的索引有代码示例不,

不过我修改另外一种判断方式:也处理了这个问题

async onLoad() { // 查询是否已经有管理员注册了,如果有,则隐藏注册管理员的入口 try { const db = uniCloud.database(); // let countRes = await db.collection("uni-id-users").where({role:"admin"}).count(); let countRes = await db.collection("uni-id-users").where(${new RegExp('admin', 'i')}.test(role)).count(); let count = countRes.result.total; this.existAdmin = count > 0 ? true : false; } catch(err){ this.existAdmin = false; } }

guominfang avatar Mar 10 '25 08:03 guominfang

不建议这样做,这样你支付宝云后面还会有各种问题,支付宝云内置数据库要求,数组字段必须设置为 array 类型的索引才能被查询

qq370725567 avatar Aug 21 '25 03:08 qq370725567