在我的MongoDB中,我有文档,如下所示。如何更新内部文档结构中的文档:<code>〔{1},〔{2}〕,〔{3}〕、〔{4}〕</code>。
例如:子子文档中的子文档具有objectId:1
和objectId:2
以及
和
objectId:4
[{ _id : ObjectId("1")}],
[{ _id : ObjectId("2")}],
[{ _id : ObjectId("3")}],
[{ _id : ObjectId("4")}]
"Child": [{
"_id": ObjectId("1"),
Name: "Raghu",
Age : 21,
"subchild": [{
"_id": ObjectId("2"),
"Name": "Yuva",
Age : 23,
},
[{
"_id": ObjectId("3"),
Name: "Ravi",
Age : 25
}
],
[{
"_id": ObjectId("4"),
"Name": "Ram",
Age : 27
}
]
],
}
]
如何更新上面下面的子文档特定_Id: ObjectId("3")和_Id: ObjectId("4")Ex: [{ "_id": ObjectId("4"),"Name":"Ram",}]
我在 C# 中尝试过这样的:
I updated ObjectId : 1 like Example child.$.Subchild.0.Name="Raghu"
But not Updated ObjectId : 4 like Example child.$.Subchild.3.Name="Ram"
MongoServerSettings settings = new MongoServerSettings();
settings.Server = new MongoServerAddress("127.1.1.1", 27017);
MongoServer servers = new MongoServer(settings);
var db = servers.GetDatabase("StudentDB");
MongoCollection<Student> pax;
pax = db.GetCollection<Student>("StudentDetails");
IMongoQuery queryEdit = Query.EQ("Child.subchild._id", new ObjectId("4"));
var updateValues = new List<UpdateBuilder>();
{ updateValues.Add(Update.Set("child.$.Subchild.3.Name", "Ramu")); }
updateValues.Add(Update.Set("child.$.subchild.3.Age", 27));
IMongoUpdate update = Update.Combine(updateValues);
SafeModeResult sm = pax.Update(queryEdit, update, UpdateFlags.None, SafeMode.True);
孩子。$。Sub的孩子。0. Name="Raghu"
不需要对第一个数组游标的引用,需要对第二个游标的引用孩子。子孩子。$。名称="Raghu"
对于MongoDB来说,不要更新两个引用"$"
db.foo.update({_id:ObjectId(...),"child.Subchild.Name":"Ram"},{$set:{child.Subchild.$.Name="Raghu"}});
问题内容: 我的文档中具有以下结构: 我想更新 someField 和 someField2, 但仅更新数组中的一项,与 _arrayId 匹配的 项 (例如;并且仅针对此文档(例如)),而不更新其他项。 该 arrayIds 是不是唯一的,这就是为什么我需要它是针对特定文档的文档。如果要为数组中存在的每个文档更新该值,则可以使用,但这不是我想要的。 我试图在Java中完成此操作,但也可以使用命令
我有一个深度嵌套的文档结构,如下所示: 我正在尝试更新集合以插入新配置,如下所示: 我正在mongo(Python)中尝试类似的内容: 但是,我得到了“如果没有包含数组的相应查询字段,则无法应用位置运算符”错误。在mongo这样做的正确方式是什么?这是mongo v2。4.1.
主要内容:update() 方法,save() 方法在 MongoDB 中,可以使用 update() 和 save() 方法来更新集合中的文档。其中 update() 方法可以更新现有文档中的值,而 save() 方法则可以使用传入文档来替换已有文档。 update() 方法 update() 方法用于更新现有文档中的值,其语法格式如下: db.collection_name.update( <query>, <update>,
我正在运行Mongodb 3.6。以下是我的文档结构,它存储产品列表的每月费率信息: 对相关联的计费卡的任何更改,都会将更新传播到“费率”数组中的多个子文档。 以下是需要应用于上述文档的更改 有没有一种方法可以在数组速率下更新子文档,而无需将整个文档加载到内存中,以便合并更改?假设我的子文档标识符是,和。 我可以使用
本文向大家介绍使用$ set和location $运算符更新数组中的特定MongoDB文档?,包括了使用$ set和location $运算符更新数组中的特定MongoDB文档?的使用技巧和注意事项,需要的朋友参考一下 要使用$set和positional运算符更新数组中的特定文档,请使用MongoDB 。该基于查询过滤器集合中更新单个文件。 让我们创建一个包含文档的集合- 在方法的帮助下显示集合
我的mongoDB记录就像在这个链接更新嵌套数组mongob和示例记录如下,想要更新嵌套文档“参数”数组中的一个字段,前提是它满足一些条件(_id:“04”,操作。_id:“100”和operations.parameters.pid:“012”),此更新查询UPDATES错误嵌套记录(operations.parameters.pid:“011”),请帮助我哪里出错了: 我的更新查询如下: 我使