How to return the last push() embedded document
我一直试图找出是否可行。
使用猫鼬的博客示例进行演示,但是我的实际用例稍微复杂一些:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | var Comments = new Schema({ title : String , body : String , date : Date }); var BlogPost = new Schema({ author : ObjectId , title : String , body : String , date : Date , comments : [Comments] }); var BlogPost = mongoose.model('BlogPost'); var post = new BlogPost(); |
我需要创建一个新评论并将新评论返回给客户端。将注释作为嵌入式文档确实对我来说很方便,并且效果很好。但是,我不想每次添加新评论时都将每个评论返回给客户端。
1 | post.comments.push({ title: 'My comment' }); |
当我正在使用猫鼬时,我可以通过某种方式获得新注释的
做到这一点的唯一方法是将评论作为自己的收藏吗?
我想您要解决的问题是在客户发表评论后如何更新页面,对吗?
因此,您要插入新的注释。这意味着您已经有了它的数据。执行插入并将数据返回给客户端。或者,更好的是,返回一个简单的确认,因为客户端也具有完整的注释数据,并且可以单独呈现它。