node.js - 让评论显示在我的帖子 Node.js Mongoose 下
问题描述
我正在尝试在我的节点应用程序中为文章实现评论系统。
目前我可以让所有评论显示在文章下,但我只想显示与文章直接相关的评论。
我已经确认它们确实被添加到了数组中。
评论.js
const CommentSchema = new mongoose.Schema({
content: { type: String, required: true },
article : { type: Schema.Types.ObjectId, ref: 'Article' },
createdAt: {
type: Date,
default: Date.now
}
},{timestamps: true});
module.exports = mongoose.model('Comment', CommentSchema);
文章.js
const ArticleSchema = new mongoose.Schema({
title: {
type: String,
required: true
},
description: {
type: String
},
markdown: {
type: String,
required: true
},
createdAt: {
type: Date,
default: Date.now
},
slug: {
type: String,
required: true,
unique: true
},
sanitizedHtml: {
type: String,
required: true
},
img: {
type: String
},
type:{
type: String
},
comments:[{ type: Schema.Types.ObjectId, ref: 'Comment' }]
}, {timestamps: true});
文章.js
const express = require('express')
const Article = require('./../models/article')
const Comment = require('./../models/comment')
const router = express.Router()
const multer = require('multer')
const path = require('path')
router.get('/:slug', async (req, res) => {
const article = await Article.findOne({ slug: req.params.slug })
const comments = await Comment.find({})
res.render('articles/show', { article: article, comments: comments });
})
*该解决方案有效,谢谢。
解决方案
推荐阅读
- java - 如何在 Android 上从 USB 设备读取数据?
- ruby-on-rails - Rails 5 + Boostrap 3 - 对登陆页面的部分使用全页宽度
- go - 从字符串值更新 map[string]int
- neural-network - 不同的图像尺寸(分辨率)作为 CNN 推理的输入
- node.js - 当我尝试在 ubuntu 18.04 上第二次启动 Microsoft 演示时出现错误
- functional-programming - 如何创建“FnOnce”函数
- c# - Unity 中的计时器增量不正确
- python - 加载 Spark Dataframe 时无效的 \x Escape
- python - 正则表达式新手问题:从一行中获取多个单词/句子,最大分隔为 1 个空格?
- java - Derby 在 Blob 列的较小块中解析图像十六进制