[英]Azure DocumentDB - Insert object to document array?
我正在開發一個簡單的問答論壇。 我想使用Azure DocumentDB。
如何在DocumentDB中添加現有問題文檔的答案?
就我而言,我列出了與問題類型相同的答案:
public List<Announcement> { get; set; }
我的文檔對象如下所示:
public class Announcement
{
[JsonProperty(PropertyName = "id")]
public string ID { get; set; }
[JsonProperty(PropertyName = "userid")]
public int UserID { get; set; }
[JsonProperty(PropertyName = "username")]
public string UserName { get; set; }
[JsonProperty(PropertyName = "useripaddress")]
public string UserIPAddress { get; set; }
[JsonProperty(PropertyName = "body")]
public string Body { get; set; }
[JsonProperty(PropertyName = "tags")]
public List<string> Tags { get; set; }
[JsonProperty(PropertyName = "datecreate")]
public DateTime DateCreate { get; set; }
[JsonProperty(PropertyName = "isedited")]
public bool IsEdited { get; set; }
[JsonProperty(PropertyName = "dateedit")]
public DateTime DateEdit { get; set; }
[JsonProperty(PropertyName = "imageaddonid")]
public string ImageAddonId { get; set; }
[JsonProperty(PropertyName = "imageaddonsource")]
public string ImageAddonSource { get; set; }
[JsonProperty(PropertyName = "answers")]
public List<Announcement> { get; set; }
}
我在DocumentClient中看不到任何更新方法:/。
對我來說,您需要使用ReplaceDocumentAsync
方法來更新您的文檔。
據我所知,你需要更換整個文件; 因為當您更改某些內容時,您將更新整個文檔而不是其中的一部分。
您可以在此處查看有關該方法的文檔
目前您無法更新文檔的一部分,您必須更新整個文檔。 更新文檔的一部分是一項經常需要的功能,您可以投票支持Microsoft將來添加它。 在Azure的Uservoice上執行此操作: https ://feedback.azure.com/forums/263030-documentdb/suggestions/6693091-be-able-to-do-partial-updates-on-document
無論如何,您可能應該重新考慮是否要將答案嵌入問題本身。
根據DocumentDB中的數據建模 ,您應該嵌入if
實體之間包含關系。
實體之間存在一對一的關系。
嵌入式數據很少更改。
嵌入式數據將無限增長。
嵌入的數據是文檔中不可或缺的數據。
如果你看一下粗體的子彈點,看起來問題里面的答案可能不是一個好主意,因為你可能有數千個答案,問題文檔會經常變化。
相反,你可以擁有
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.