基于Mongodb的聚合框架解决博客系统的常见需求
使用mongodb + nodejs,可以非常快速地完成一个功能完整的博客系统。 常见的对文章的CRUD和评论的CRUD都能实现。 那么稍微复杂的评论聚合也能实现吗?
本文将讲解如何使用mongodb的聚合框架功能实现评论的常见复杂需求。
数据结构
- db.post
{
title: @String,
content: @String,
views: @Number,
created_at: @Date,
upddated_at: @Date,
author: @String,
url: @String,
tags: [@String, ...],
comments: [{
content: @String,
author: @String,
created_at: @Date,
votes: @Number,
related_id: @ObjectId
}, ...]
需求1:获取某个用户的按时间倒序的所有评论
获取 @fengmk2 的评论
db.post.aggregate()