0

画像の更新リストを更新するにはどうすればよいですか?

モデル:

public class Test
    {
        [BsonId]
        public string Id { get; set; }
        public string Name { get; set; }
        public List<Picture> Pic {get; set; }
        public DateTime LastModified { get; set; }
    }

    public class Picture
    {
        public string Name{ get; set;}
        public int Size {get; set;}
    }

更新コード:

 IMongoUpdate update = Update
                .Set("Name", test.Name)
                .Set("Address", test.Address)
                .Set("LastModified", test.LastModified);

結果:

{
    "_id": "50d3dbce1292dd2e98af1dd1",
    "Name": "Bubba",
    "Address": "1111",
    "Pic" : [{"Name": "test1.jpg", "Size":"1000"}, {"Name": "test2.jpg", "Size":"2000"}],
    "LastModified": {
        "$date": "2012-12-21T03:47:26.535Z"
    }
}
4

1 に答える 1

0

コレクション全体を更新する場合は、このコードを使用できます

var update = Update<Test>.Set(x => x.Pic, new List<Picture> {new Picture {Name="name", Size=10}});
collection.Update(Query<Test>.EQ(x => x.Id, "1"), update);

Update クラスにはコレクションを変更するメソッドがあります: AddToSet、Push、Pull、Pop...

ドキュメントのすべてのフィールドを更新する必要がある場合は、ドキュメント全体を更新する方が簡単です

collection.Update(document)

この場合、BsonId フィールドを設定する必要があります。

于 2013-01-16T12:37:22.553 に答える