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", 애플리케이션 ID), Query.EQ ("Settings.Key", "ImportDirectory")); 하지만 아무 것도하지 않습니다. – Gui
코드 예 –
을 편집했습니다. 이번에는 재정의가 여전히 제거되지 않지만 설정 레벨에서 다른 하위 문서 [0] : {}이 있습니다. { "_id": "binary_stuff" "이름": "에서는 MyApplication" "설정": [ { "_id": "binary_stuff" "키": "ImportDirectory"이 문서를 봐 , "값": "C : \ 데이터" "재정"[{ "_id": "binary_stuff" "이름" "PathDirectory" "값": "C : \ anotherData" }], "Settings [0]": {}, }, } – Gui