あなただけのpost
オブジェクトでcomments
を持っている場合にのみ、このようなcomments
配列ている必要があります
Posts {
_id: String;
comments: [];
}
をそして、彼のIDでコメントを削除するには、次のコメントを更新するには
Posts.update({_id: postId, "comments.comment_id" : "commentIdToDelete"},
{ $pull:{"comments": {"comment_id": "commentIdToDelete"}}})
を彼のidによって:
Posts.update({_id: postId, "comments.comment_id" : "commentIdToUpdate"},
{ $set:{"comments.$.comment": "A new comment"}})
UPDATE我々は(それはまだ行っていない場合)post
文書をinitialiazeする必要がcomments
配列にコメントを追加するために
:
Posts.insert({
comments: []
});
は、今、私たちはのcomments
配列のサイズを取得する必要が
let lengthComments = Posts.findOne({_id: postIdToUpdate}).comments.length;
をそして最後に、我々はcomments
配列にコメントを追加することができます:を更新する
Posts.update({_id: postIdToUpdate}, {
$push: {
"comments": {
"comment_id": lengthComments + 1,
"comment": "My comment",
"user_id": Meteor.userId(),
}
}
});
特定の投稿オブジェクトを選択し、その特定のコメント配列を変更するにはどうすればよいですか?私はそれを今セットアップしているので、私はcomment_idを1で開始し、1ポストごとに増加するように設定しました。 – dchen71
あなたの設定には、私が理解していないことがあります: 'comments'は配列か、配列内のオブジェクトですか? – JeanMel
コメントは配列です。コメントは、user_id、comment、comment_idを含むコメントハッシュの配列で、1 +ポストごとの配列の長さとして定義されるように設定したいと思います。 – dchen71