如何返回最后一个push()embedded式文档

我试图弄清楚这是否可能。

使用mongoose的博客示例来演示,但是我的实际使用情况稍微复杂一些:

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(); 

我需要创build一个新的评论,并将评论返回给客户端。 作为embedded式文件的评论对我来说真的很方便,而且运行良好。 但是,我不想每次添加一个新的评论给客户端。

 post.comments.push({ title: 'My comment' }); 

正如我使用mongoose,如果我可以如何得到新的评论的id将帮助,也允许我添加其他function,如编辑评论或删除评论。

要做到这一点的唯一方法是有意见作为自己的collections?

我想你要解决的问题是如何在客户发表评论后更新页面,对吗?

所以,你插入一个新的评论。 这意味着你已经有了它的数据。 执行插入并将数据返回给客户端。 或者,更好的是,返回一个简单的答案,因为客户端也有完整的评论数据,并可以自己渲染。