我已经实现了一个C#应用程序,我在其中运行一个集合并向一些文档添加属性 . 要添加属性,我使用ReplaceDocumentAsync方法,但对于某些文档,我得到“资源未找到”异常,异常类型为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的分区集合 .