我如何更新一个mongodb数组
本文关键字:数组 一个 mongodb 更新 何更新 | 更新日期: 2023-09-27 17:53:23
如何更新图片的更新列表?
模型:
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"
}
}
如果要更新整个集合,可以使用以下代码
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字段