0
나는 잠시 동안이 문제에 시달렸습니다. 여기 내 문서가 있습니다. 이 함수에 전달 된 두 개의 매개 변수가 있습니다DocumentDB : 부분 속성 값을 업데이트하는 방법
SqlQuerySpec query = new SqlQuerySpec()
{
QueryText = "SELECT c.id, c.Scenario, t.Language, t.Content, c.LastModified, c.ModifiedBy, c.LastAccessed FROM MultiLanguage as c join t in c.Translations where c.id = @Id and t.Language = @Language",
Parameters = new SqlParameterCollection() { new SqlParameter("@Id", Id), new SqlParameter("@Language", Language) }
};
Document doc = client.CreateDocumentQuery<Document>(
collectionLink, query).AsEnumerable().FirstOrDefault();
doc.SetPropertyValue("Content", "Welcome to Stackoverflow!");
Document updated = await client.ReplaceDocumentAsync(doc);
: 여기
{
"id": "1",
"Scenario": "Welcome page",
"Translations": [
{
"Language": "En",
"Content": "Welcome!"
},
{
"Language": "Fr",
"Content": "Bienvenue!"
}
],
"LastModified": "2016-05-27T17:27:58.562-06:00",
"ModifiedBy": "admin",
"LastAccessed": "2016-06-13T10:27:58.562-06:00"
}
그리고
는 속성을 (내가 여기에 수정 될 값을 하드 코딩 한) 업데이트 내 코드입니다. 이드와 언어. 예를 들어Id = "1"
및
Language="En"
에 대해 콘텐츠 콘텐츠를
"Welcome to Stackoverflow!"
으로 업데이트하고 싶습니다. 건은이 같은 내 문서를 다른
"Language": "Fr"
,
"Content": "Bienvenue!"
부분을 제거하고 업데이트 할 것입니다 내 코드 :
그래서
{
"id": "1",
"Scenario": "Welcome page",
"Translations": [
{
"Language": "En",
"Content": "Welcome to Stackoverflow!"
},
{
"Language": "Fr",
"Content": "Bienvenue!"
}
],
"LastModified": "2016-05-27T17:27:58.562-06:00",
"ModifiedBy": "admin",
"LastAccessed": "2016-06-13T10:27:58.562-06:00"
}
것은 어떻게 부분적으로 만 업데이트 할 수 있습니다
{
"id": "1",
"Scenario": "Welcome page",
"Language": "En",
"Content": "Welcome to Stackoverflow!",
"LastModified": "2016-05-27T17:27:58.562-06:00",
"ModifiedBy": "admin",
"LastAccessed": "2016-06-13T10:27:58.562-06:00"
}
는하지만 내가 원하는 것은 이것이다 다른 속성을 어지럽히 지 않고 문서의 속성?
아니요, 예는 제가 원하는 것입니다. 프랑스어 속성에 영향을주지 않고 영어 콘텐츠를 업데이트하고 싶습니다. 내 코드에서이 문서를 읽었지만 클라이언트 쪽에서 영어 콘텐츠를 업데이트 할 수 없었습니다. 왜냐하면
"doc.SetPropertyValue ("Content ","Welcome to Stackoverflow! "); "
DocumentDB에서 하위 속성 중 하나만 업데이트 할 수 있습니까? –
아니요, 전체 문서를 바꾸거나 삽입하지 마십시오. –
그래, 일부 연구 후에 부분 속성을 업데이트 할 수 없다는 것을 깨달았습니다. 나는 전체 문서를 교체해야한다는 것은 잘 알고있다. 하지만 내 문제는 자식 속성 "콘텐츠"중 하나를 업데이트하는 방법입니다 : "환영합니다!" 또 하나의 "콘텐츠"에 영향을 미치지 않습니다 : "Bienvenue!". 문서 속성을 업데이트하는 유일한 방법은 "SetPropertyValue"를 사용하는 것입니다. 내 문제 : 나는 두 개의 콘텐츠 속성이 있습니다. SetPropertyValue ("Content", "Welcome to Stackoverflow!")와 같은 일을 할 수있는 방법이 있나요? (Language = "En")? 감사! –