如何推送到 [] 类型的猫鼬模式属性

问题描述

我在后端使用 mongoose,想知道像这样设置数组类型的架构属性是否正确?:

comments: {
        type: [],required: false,}

然后像这样推送到具有相同属性的文档?:

thread.comments.push({
                    commenter: req.user.username,content: comment,});
                thread.save();

解决方法

由于评论是您的线程架构的子级,我建议使用 SubDocuments

const commentSchema = new Schema({ 
   commenter: 'string',content: 'string' 
});

const threadSchema = new Schema({
  comments: [commentSchema],//...
});

添加评论:

thread.comments.push({
   commentor: req.user.username,content: comment //the text of the comment
});
thread.save();