首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在删除用户时删除用户的帖子

如何在删除用户时删除用户的帖子
EN

Stack Overflow用户
提问于 2021-08-17 19:30:26
回答 1查看 44关注 0票数 0
代码语言:javascript
复制
router.delete('/delete',authenticate,async(req, res)=>{
const user = User.findById(req.rootUser._id)
{
    try{
        await Post.deleteMany({postedBy:rootUser})
        await User.findByIdAndDelete(req.rootUser._id)
        res.status(200).json(err);
    }catch(err){
        res.status(500).json(err);
    }
}
})

rootUser是用户,我们可以通过身份验证访问它。

如果我使用id方法,如router.delete(‘:/id.然后如何访问post,因为post id与user id不同。

POST架构:

代码语言:javascript
复制
const mongoose = require('mongoose');
const {ObjectId} = mongoose.Schema.Types
const postSchema = new mongoose.Schema({
    heading:{
        type:String,
        required: true
    },
    confess:{
        type: String,
        required:true
    },
    likes:[{type:ObjectId,ref:"USER"}],
   postedBy:{
        type: ObjectId,
        ref: "USER"
    }
});

const Post = module.exports = mongoose.model('POST', postSchema);
module.exports = Post;
EN

回答 1

Stack Overflow用户

发布于 2021-08-17 20:49:04

由于postedBy字段的类型为ObjectId,因此在搜索要删除的帖子时,必须传入用户的_id。因此,您必须这样做:

代码语言:javascript
复制
await Post.deleteMany({postedBy: req.rootUser._id})

不只是寻找rootUser,因为首先,rootUser是未定义的(它应该是req.rootUser),我们需要rootUser => req.rootUser._id的_id

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68823038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档