天下3泡妹纸新姿势_天下3新移动上马效果展示,在网络新闻评论中的新拓展

泡妹纸新姿势 天下3新移动上马效果展示

2014/05/14 17:49:57| 来源:互联网 | 小编:小天 | 已有[0]人评论我要评论

20世纪90年代以来互联网迅猛发展并成为继报纸、广播、电视之后的”第四媒介”,网络新闻评论借助其时效性强、传播速度快、容量大、交互性高的优势也日益成为各大新闻网站争夺的新的制高点。本文在阐述网络新闻评论基本概念、表现形态以及”议程设置”基本理论的基础上,分析了网络新闻评论对传统”议程设置”理论的新拓展和新挑战。

没有评论功能,则不成其为社交平台。我们应用的定位是社交性的博客平台,所以我们必须为用户提供在博文底下留言评论的功能。由此,在模型结构上,评论应该与博文相联系;后端逻辑上,只有登录过的用户才能够发表评论。

相关资源:

网络新闻评论;“议程设置”;表现形态;交互性;即时性

新建评论模型

上一节中的点赞功能由于没有额外的信息,所以只需要修改已有的模型。而为了存储评论的文本,我们需要为其创建专有的模型。

新建models/Comment.js文件,写入:

const mongoose = require('mongoose');

const CommentSchema = new mongoose.Schema({
  body: String,
  author: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
}, {timestamps: true});

CommentSchema.methods.toJSONFor = function (user) {
  return {
    id: this._id,
    body: this.body,
    createdAt: this.createdAt,
    author: this.author.toProfileJSONFor(user)
  };
};

mongoose.model('Comment', CommentSchema);
module.exports = CommentSchema;

注意我们为评论模型也定义了toJSONFor方法,它返回的JSON对象的格式符合第二部分中的设计。

老套路,我们需要在app.js里登记这个新模型。

require('./models/User');
require('./models/Article');
// +++
require('./models/Comment');
// +++
require('./config/passport');

20世纪90年代以来互联网迅猛发展并成为继报纸、广播、电视之后的”第四媒介”,网络新闻评论借助其时效性强、传播速度快、容量大、交互性高的优势也日益成为各大新闻网站争夺的新的制高点。本文在阐述网络新闻评论基本概念、表现形态以及”议程设置”基本理论的基础上,分析了网络新闻评论对传统”议程设置”理论的新拓展和新挑战。

修改博文模型

接下来我们要修改博文模型。用户与博文的关系、博文与评论的关系,两者都是隶属。但有一点不同,那就是我们没有提供删除用户的功能,所以不会出现“孤儿”博文的情况。而删除一篇博文时,其下所有的评论也要自动删除,这个时候最佳的策略是把评论存为博文的子文档。在使用上,子文档和一般的文档(也就是一个模型对象)最大的差别在于子文档不能单独存储,而是依赖于父文档的save()。更多内容请移步Mongoose的相关文档。

打开models/Article.js,加入:

// +++
const CommentSchema = require('./Comment');
// +++

const ArticleSchema = new mongoose.Schema({
  // ...
  // +++
  comments: [CommentSchema],
  // +++
}, {timestamps: true});

以上就是评论功能所需的所有模型层面的改动。请注意,我们没有在用户模型里存储所发表评论的列表,因为我们不需要读取某个用户的所有评论。评论的读取只和博文有关。

Leave a Comment.