使用MongoDB3.0的MongoDB C#驱动程序2.0.1版本,是否可以使用类型化方法更新数组字段文档元素?
例如,我有以下文件:
{
Name:"Ken",
ContactNo:[ { Number:"123", Type:"Mobile"},
{ Number:"456", Type:"Office"},
{ Number:"531", Type:"Fax"}
]
}如何使用类型化C#方法执行下列操作:
1)将Type字段更新为ContactNo数组的所有元素为"PABX“
2)将ContactNo数组文档元素的Type字段( Number字段等于"123“)更新为"Fiber”
3)更新Contact数组的第一个元素,并将其Type字段设置为"Unknown“
发布于 2015-08-07 13:30:42
Number of 123设置ContactNo数组中元素的Number属性为Fiber:
var filter = Builders.Filter.And( Builders.Filter.Eq("Name","Ken"),Builders.Filter.Eq("ContactNo.Number",“123”);var update = Builders.Update.Set("ContactNo.$.Type","Fiber");collection.UpdateOneAsync(filter,update).Wait();ContactNo数组中第一个元素的ContactNo属性设置为Unknown:
var filter = Builders.Filter.Eq("Name","Ken");var update =Builders.Update.Set(“ContactNo.Type”,“Uniting”);collection.UpdateOneAsync(filter,update).Wait()请注意,所有这些代码都假定您有一个名为Contact的类,它对应于您在问题中指定的数据(您的实际类可能被称为其他类,我在这里刚刚称它为Contact ),而collection是IMongoCollection<Contact>的一个实例。
例如:
var client = new MongoClient("mongodb://localhost:27017");
var collection = client.GetDatabase("your database").GetCollection<Contact>("your collection name");https://stackoverflow.com/questions/31877097
复制相似问题