因此,我试图弄清楚如何删除用户对猫鼬的评论,但是我不确定如何删除,但这主要是因为我的应用程序上的评论没有自己的模型。
如果我真的想这样做,我会给他们自己的模型做注释,但是我想保持我的模式不变。所以我的PostSchema看起来像这样:
const PostSchema = new Schema({
user: [
{
type : mongoose.Schema.ObjectId, ref : 'users'
}
],
text: {
type: String,
required: true
},
name: {
type: String
},
likes: [
{
user: {
type: Schema.Types.ObjectId,
ref: 'users'
}
}
],
comments: [
{
user: {
type: Schema.Types.ObjectId,
ref: 'users'
},
text: {
type: String,
require: true
},
name: {
type: String
},
date: {
type: Date,
default: Date.now
}
}
],
date: {
type: Date,
default: Date.now
}
});
我希望能够删除用户的所有评论,但不能删除帖子。这是可以完成的事情,还是唯一的方法就是创建一个评论模型并建立一对多关系?
答案 0 :(得分:0)
以下内容将从每条帖子中删除用户的评论。
MyPostModel.updateMany({}, { $pull: { comments: { user: userIdToRemove } } });