必须在查询时和 schema 设置相同的权限才可以正常显示,只设置一个就不能生效。。。。
1.unicloud-db查询时设置查询条件
例子:
<unicloud-db ref="udb" v-slot:default="{data, pagination, loading, hasMore, error}"
:where="`article_status==1`"
collection="opendb-news-articles" orderby="publish_date desc"
field="user_id,category_id,title,content,excerpt,article_status,comment_status,last_comment_user_id,avatar,publish_date,last_modify_date,mode">
<view v-if="error">{{error.message}}</view>
<view v-else-if="data">
<uni-list>
<uni-list-item v-for="(item, index) in data" :key="index" showArrow :clickable="true"
@click="handleItemClick(item._id,item.title)">
<view slot="body">
<!-- 此处默认显示为_id,请根据需要自行修改为其他字段 -->
{{item.title}}
</view>
</uni-list-item>
</uni-list>
</view>
<uni-load-more :status="loading?'loading':(hasMore ? 'more' : 'noMore')"></uni-load-more>
</unicloud-db>
2.在对应操作的schema里面设置权限
"permission": {
// "read": "doc.user_id == auth.uid && doc.article_status == 0 || doc.article_status == 1",
// "create": "auth.uid != null",
// "update": "doc.user_id == auth.uid",
// "delete": "doc.user_id == auth.uid"
// auth.uid != null 用户必须登录
// doc.user_id == auth.uid 用户只能看自己的文章
// doc.status==true 只读取发布状态的文章
"read": "doc.article_status == true",
"create": true,
"update": true,
"delete": true
},