更新或替换MongoDB集合中的嵌入文档
本文关键字:文档 集合 替换 MongoDB 更新 | 更新日期: 2023-09-27 17:58:51
我有以下数据结构:
db.objects
{
"_id" : 1,
"name" : "object name",
"type" : "rectangle",
"area" : {
"position_x1" : 0,
"position_y1" : 0,
"position_x2" : 0,
"position_y2" : 0
},
"dimension" : {
"width" : 0,
"height" : 0
}
}
我想为对象集合中"_id"
=1的文档分别替换/更新"area"
和"dimension"
。
[?]请告诉我如何使用MongoDB C#驱动程序实现。
这是$set
运算符的一个非常简单的用法。因此,本质上更新形式是:
db.objects.update(
{ "_id": 1 },
{
"$set": {
"area": { /* all of your object properties */ },
"dimension": { /* all of your object properties */ }
}
}
)
或者,你可以分别进行:
db.objects.update(
{ "_id": 1 },
{
"$set": {
"area.position_x1": 1,
"area.position_y1": 1,
"dimension.width": 1
}
}
)
根据您的实际需要。
或者作为C#类型的代码使用Builder:
var query = Query.EQ("_id",1);
var update = Update.Set("area.position_x1", 1)
.Set("area.position_y1", 1)
.Set("dimension.width", 1);
MongoCollection<Class>.update(query, update);