4
我为MongoDB使用10gen C#驱动程序,我想从子文档中删除子文档。我不知道该怎么做。MongoDB从子文档中删除子文档文档
这里是什么样子我的文档
{
"_id": "binary_stuff",
"Name": "MyApplication",
"Settings": [
{
"_id": "binary_stuff",
"Key": "ImportDirectory",
"Value": "C:\data",
"Overrides": [{
"_id": "binary_stuff",
"Name": "PathDirectory",
"Value": "C:\anotherData"
}]
},
}
一个例子,我想删除覆盖其名称是PathDirectory。这是我写的查询,但不起作用。我没有错误。
var query = Query.And(Query.EQ("_id", applicationId), Query.EQ("Settings.Key", "ImportDirectory"), Query.EQ("Settings.$.Overrides.Name", "PathDirectory"));
Run(database => database.Applications().Remove(query));
感谢您的任何帮助。 John
我试图与此查询与您的代码:var查询= Query.And(Query.EQ( “_ ID” 的applicationID),Query.EQ( “Settings.Key”, “ImportDirectory”));但它什么都不做 – Gui
我编辑了代码示例 –
这一次,重写仍然没有被删除,但是我在设置级别有另一个子文档Settings [0]:{}。看看这个文件: { “_id”: “binary_stuff”, “名称”: “为MyApplication”, “设置”:[ { “_id”: “binary_stuff”, “关键”: “ImportDirectory” , “值”: “C:\数据”, “替换”:[{ “_id”: “binary_stuff”, “名称”: “PathDirectory”, “值”: “C:\ anotherData” }], “Settings [0]”:{}, }, } – Gui