本节目的:从数据库获取对应文章的评论加载到页面
1. 实现加载评论样式效果
2. 创建获取评论云函数 get_comments,并配置运行测试参数
'use strict'; const db = uniCloud.database() const $ = db.command.aggregate exports.main = async (event, context) => { const { user_id, article_id, } = eventconst list = await db.collection('article') .aggregate() .match({ _id: article_id }) // 拆分数组中的每个文档为多个 .unwind('$comments') .project({ _id: 0, // 只返回 comments comments: 1 }) // 指定字段作为根节点 .replaceRoot({ newRoot: '$comments' }) .end() //返回数据给客户端 return { code: 200, msg: '数据请求成功', data: list.data } };
// data[0] 是一个对象,把对象替换掉,内容为原对象value值(数组)里的每一项
// 未拆分之前返回结果 // { // "code": 200, // "data": [{ // "comments": [{ // "author": { // "author_id": "5f45afe33c788800019dfb0b", // "author_name": "Java架构师讲师团", // "avatar": "//img2.sycdn.imooc.com/5dafce1a00013fd501400140-160-160.jpg", // "professional": "架构师" // }, // "comment_content": "评论2", // "comment_id": "4y4z5caxzwk0", // "create_time": 1599608617064, // "replys": [] // }, { // "author": { // "author_id": "5f45afe33c788800019dfb0b", // "author_name": "Java架构师讲师团", // "avatar": "//img2.sycdn.imooc.com/5dafce1a00013fd501400140-160-160.jpg", // "professional": "架构师" // }, // "comment_content": "评论1", // "comment_id": "1uv9hscv45kw", // "create_time": 1599608595513, // "replys": [] // }, { // "author": { // "author_id": "5f45afe33c788800019dfb0b", // "author_name": "Java架构师讲师团", // "avatar": "//img2.sycdn.imooc.com/5dafce1a00013fd501400140-160-160.jpg", // "professional": "架构师" // }, // "comment_content": "评论成功", // "comment_id": "5156s0kekqk0", // "create_time": 1599524585856, // "replys": [] // }] // }], // "msg": "数据请求成功" // }
// 拆分之后 // { // "code": 200, // "msg": "数据请求成功", // "data": [{ // "comment_id": "4y4z5caxzwk0", // "comment_content": "评论2", // "create_time": 1599608617064, // "author": { // "author_id": "5f45afe33c788800019dfb0b", // "author_name": "Java架构师讲师团", // "avatar": "//img2.sycdn.imooc.com/5dafce1a00013fd501400140-160-160.jpg", // "professional": "架构师" // }, // "replys": [] // }, { // "comment_id": "1uv9hscv45kw", // "comment_content": "评论1", // "create_time": 1599608595513, // "author": { // "author_id": "5f45afe33c788800019dfb0b", // "author_name": "Java架构师讲师团", // "avatar": "//img2.sycdn.imooc.com/5dafce1a00013fd501400140-160-160.jpg", // "professional": "架构师" // }, // "replys": [] // }, { // "comment_id": "5156s0kekqk0", // "comment_content": "评论成功", // "create_time": 1599524585856, // "author": { // "author_id": "5f45afe33c788800019dfb0b", // "author_name": "Java架构师讲师团", // "avatar": "//img2.sycdn.imooc.com/5dafce1a00013fd501400140-160-160.jpg", // "professional": "架构师" // }, // "replys": [] // }] // }
测试参数:
{
"user_id": "5f45afe33c788800019dfb0b",
"article_id": "5f45afe0875241000188959f"
}
3. 页面加载
3.1 获取
3.2 渲染及传值给组件
3. 子组件渲染