1.创建soup-today的数据表(就是确认今天给的数据,不然刷新又给新的,不方便给广告){ "bsonType": "object", "required": [ ], "permission": { "read": true, "create": true, "update": true, "delete": false }, "properties": { "_id": { "description": "ID,系统自动生成" }, "user_id": { "bsonType":
1.新建soup-user-read的数据表(开发阶段读取权限打开){ "bsonType": "object", "required": [], "permission": { "read": true, "create": true, "update": true, "delete": true }, "properties": { "_id": { "description": "ID,系统自动生成" }, "user_id":{ "bsonType": "string"
1.传值渲染其他首页组件内容页面显示,和上一节一样2.swiper加入当没有数据时显示加载中,有了再显示加载数据,不然以来显示广告 duration="260"表示swiper滑动速度<view class="noData" v-if="! listData.length"> <uni-load-more status="loading" :show-text="false"></uni-load-more> </view> <swiper vertical @change="swiperChange" :duration="260" v-else> 加入样式,使得加载框在页面中间.noData{ height: 100%; display: flex;
1.在index.vue在最后的project获取表中的有用值,其中的userinfo使用$.arrayElemAt获取其中数组值使其变为数组,且命名为userinfoconst getSoup=()=>{ db.collection("soup-chicken").aggregate() .match(`status==1 && is_delete!=true`) .lookup({ from:"uni-id-users", let:{ uid:'$user_id' }, pipeline:$.pipeline().match(dbCmd.expr($.eq(['$_id','$$uid']))).project({username:1,avatar:1}).done(), as:'userInfo' }) .sample({ size:5 }) .limit(5) .project({
1.联表查询lookupconst dbCmd= db.command; const $ =dbCmd.aggregate; //方便查询写,定义 const getSoup=()=>{ db.collection("soup-chicken").aggregate() .match(`status==1`) .lookup({ from:"uni-id-users", 连接子表 let:{ uid:'$user_id' 这里的uid是主表的,这是定义一个变量方便写 }, pipeline:$.pipeline().match(dbCmd.expr($.eq(['$_id','$$uid']))).project({username:1,avatar:1}).done(), //子表查询通道,$.pipeline()开始,done()结束,$.eq(['$_id','$$uid']比较数据一样否,返回真假,dbCmd.expr查询操作符,用于
ikrins