3
가정하자이 같은 모델이있다 : 공식 드라이버를 사용하여 몽고에 저장하면하위 문서에 이전 부분 업데이트를 건드리지 않고 MongoDB의에서 문서를 저장
public class Item
{
public Guid Id { get;set;}
public string Title { get;set;}
public List<Comment> Comments { get;set;}
}
, 댓글이 포함 된 하위 문서로 끝날 것 . 나는 "댓글"입니다 몽고 드라이버로 지정하는 방법을 잘 모르겠습니다 그러나
public void AddComment(Item item, Comment comment)
{
Collection.Update(
Query.EQ("_id", item.Id),
Update.AddToSet("Comments",
BsonValue.Create(comment)));
}
: 나는 전체 문서를 저장 요구하는 코멘트를 추가하는 사람을 원하지 않는다, 그래서 원자 부분 업데이트 방법을 썼다 이러한 내부 업데이트를 사용하여 유지 관리되며 부모 문서에서 Save()를 호출하면 유지되지 않아야합니다.
재산을 장식 할 수있는 속성이 있습니까? 또는 내가 수동으로 업데이트하려는 모든 속성을 지정하는 업데이트 메서드를 작성해야합니다.
당신이 BsonIgnore 생각하고를 사용하는 코멘트를 설정? 만약 당신이 당신의 코멘트 목록에 그것을두면 MongoDB는 그것을 무시할 것입니다. –
@PawBaltzersen : BsonIgnore를 입력하면 serializer는 serialization/deserialization 중에 주석을 무시하지만 직렬화 중에 만 무시해야합니다. –