CosmodDB(MongoDB)-无法保存仅6KB的文档

时间:2019-06-07 04:06:58

标签: azure-cosmosdb azure-cosmosdb-mongoapi

我试图遍历一组小文档(每个约6KB),然后将它们向上插入CosmosDB(MongoDB)。我一直遇到文件被随机拒绝的问题-它说文件太大。我的理解是CosmodDB可以处理最大2MB的文档,所以不确定为什么会这样。我在这里想念什么?

我已提交票证,但没有得到Azure支持的回音。这是我正在使用的代码的片段。此代码在连接到MongoDB安装而不是CosmosDB时有效。

 public async Task<T> SaveOrUpdateDocument<T>(T document) where T : BaseDocument
    {
        try
        {
            document.WhenUpdated = DateTime.Now;
            var collection = _context.Database.GetCollection<T>(CollectionName);
            ReplaceOneResult replaceOneResult;

            if (document.DocumentId.HasNoValue()) document.DocumentId = Guid.NewGuid().ToString();
            document.DocumentKey = document.DocumentId;
            document.WhenUpdated = DateTime.Now;

            replaceOneResult = await collection.ReplaceOneAsync(
                x => x.DocumentId == document.DocumentId,
                document,
                new UpdateOptions { IsUpsert = true });

            if (replaceOneResult.IsAcknowledged)
            {
                return GetDocumentById<T>(document.DocumentId);
            }
            throw new Exception("Upsert not acknowledged by DB");
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
            throw;
        }

    }

0 个答案:

没有答案