如何返回最后一个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?
我想你要解决的问题是如何在客户发表评论后更新页面,对吗?
所以,你插入一个新的评论。 这意味着你已经有了它的数据。 执行插入并将数据返回给客户端。 或者,更好的是,返回一个简单的答案,因为客户端也有完整的评论数据,并可以自己渲染。