0
我已經實現了一個C#應用程序,在該應用程序中我運行一個集合並向某些文檔添加屬性。爲了添加屬性,我使用了ReplaceDocumentAsync方法,但對於某些文檔,我得到一個「Resource Not Found」異常,並且異常類型爲DocumentClientException。爲什麼呢,因爲我在前面的查詢中找到了文檔?替換文檔時出現「資源未找到」異常
IQueryable<AISObject> aisQuery = this.client.CreateDocumentQuery<AISObject>(
UriFactory.CreateDocumentCollectionUri(DatabaseId, AISCollectionId),
new SqlQuerySpec()
{
QueryText = "SELECT * FROM " + AISCollectionId + " a WHERE ST_WITHIN(a.Location, { 'type':'Polygon', 'coordinates': " + coordinates + " })",
}, new FeedOptions { MaxItemCount = -1, EnableCrossPartitionQuery = true, MaxDegreeOfParallelism = -1, MaxBufferedItemCount = -1 });
foreach (AISObject aisObject in aisQuery.ToList())
{
aisObject.MapID = mapID;
await this.client.ReplaceDocumentAsync(UriFactory.CreateDocumentUri(DatabaseId, AISCollectionId, aisObject.id), aisObject,
new RequestOptions { PartitionKey = new PartitionKey(aisObject.TransmitterMMSI) });
}
它是使用Lazy indexingMode的分區集合。
您的意思是說我可能在ReplaceDocumentAsync調用中使用了錯誤的分區鍵?不,TransmitterMMSI是集合的分區鍵。 –