最後のプッシュ()埋め込みドキュメントを返す方法
-
26-10-2019 - |
質問
私はこれが可能かどうかを理解しようとしています。
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();
新しいコメントを作成して返す必要があります 新着 クライアントにコメントします。埋め込まれたドキュメントとしてコメントを持っていることは、私にとって本当に便利で、うまく機能します。ただし、新しいコメントを追加するたびに、すべてのコメントをクライアントに返送したくありません。
post.comments.push({ title: 'My comment' });
私がマングースを使用しているので、私がいくつかの方法を得ることができれば id
コメントの編集やコメントの削除など、他の機能を追加するのに役立つ新しいコメントのうち。
これを行う唯一の方法は、自分のコレクションとしてコメントをすることです。
解決
あなたが解決しようとしている問題は、クライアントがコメントを投稿した後にページを更新する方法だと思いますよね?
だから、あなたは新しいコメントを挿入しています。これは、あなたがすでにそのデータを持っていることを意味します。挿入を実行し、データをクライアントに返します。または、さらに良いことに、クライアントには完全なコメントデータもあり、単独でそれをレンダリングできるため、単純なACKを返します。
所属していません StackOverflow