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