Tag: 蔚cosmosdb

通过.NET确定每个查询的DocumentDB请求费用

我试图弄清楚在通过提供的.NET客户端库执行DocumentDB查询请求时是否可以获得“请求费用”。 细节回到底层的HTTP标题“x-ms-request-charge”中,我可以通过Fiddler等进行监控,但如果我可以通过.NET直接获取它。 有没有人这样做过? 或者至少能够确认它是否根本不可能? 更新: 添加说明我在执行查询而不是其他操作时请求收费。

如何通过c#代码删除DocumentDB中的所有文档

我正在使用Microsoft的一个名为DocumentDB的新数据库。 现在我想通过ID删除文档,但我无法弄清楚,如何做到这一点。 DocumentDB中的删除操作需要自我链接,它们与我自己的ID不同。 但是我一次查询文档,然后我会得到自我链接。 通过该自我链接,我将删除该文档。 现在我要删除我的集合中大约50000多个文档的所有文档。 需要获取每个文档然后删除或任何简单的方法来做同样的事情? 有可能吗?

如何调试Azure Cosmos DB存储过程?

我正在使用Azure Cosmos DB,我正在使用C#(Web服务)编写客户端,我正在使用java脚本编写一些服务器端存储过程。 如何调试存储过程的代码? 谢谢, MAK

C#LINQ。没有使用DocumentDb CreateDocumentQuery

我正在尝试查询具有某种类型产品的Art。 这是我的艺术模型: public string Title { get; set; } public string Description { get; set; } public List Products { get; set; } public string PaintedLocation { get; set; } 从这里我所做的就是以下LINQ查询: List items = DocumentDbHelper.Client.CreateDocumentQuery(collection.DocumentsLink) .Where(i => i.type == “art”) .Where(i => i.Products.Any(p => p.Name == productType)) .AsEnumerable() .ToList(); 我收到以下错误: “Method ‘Any’ is not supported.” […]

将最多100,000条记录插入DocumentDB的最快方法

正如标题所示,我需要以编程方式将100,000多条记录插入到DocumentDb集合中。 这些数据将在稍后用于创建报告。 我正在使用Azure Documents SDK和用于批量插入文档的存储过程(请参阅使用存储过程查询Azure documentdb批量插入 )。 以下控制台应用程序显示了我如何插入文档。 InsertDocuments生成500个测试文档以传递给存储过程。 main函数调用InsertDocuments 10次,整体插入5,000个文档。 运行此应用程序会导致每隔几秒钟插入500个文档。 如果我增加每次通话的文件数量,我就会开始收到错误并丢失文件。 任何人都可以推荐更快的方式来插入文件? static void Main(string[] args) { Console.WriteLine(“Starting…”); MainAsync().Wait(); } static async Task MainAsync() { int campaignId = 1001, count = 500; for (int i = 0; i < 10; i++) { await InsertDocuments(campaignId, (count * i) + 1, (count * i) + […]

按DocumentDB中的字段分组

是否有可能以某种方式对DocumentDB中的字段进行分组,是否存储过程? 假设我有以下集合: [ { name: “Item A”, priority: 1 }, { name: “Item B”, priority: 2 }, { name: “Item C”, priority: 2 }, { name: “Item D”, priority: 1 } ] 我想获得最高优先级组中的所有项目(在这种情况下优先级为2)。 我不知道最优先的是什么价值。 即: [ { name: “Item B”, priority: 2 }, { name: “Item C”, priority: 2 } ] 使用一些粗略的LINQ,它看起来像这样: var highestPriority = […]

如何(我应该)模拟DocumentClb进行DocumentDbunit testing?

从新的CosmosDb模拟器我得到了一个存储库来执行基本的documentdb操作,这个存储库被注入到其他类。 我想对基本查询进行unit testing。 public class DocumentDBRepository where T : class { //Details ommited… public IQueryable GetQueryable() { return _client.CreateDocumentQuery( UriFactory.CreateDocumentCollectionUri(_databaseId, _collectionId), new FeedOptions { MaxItemCount = -1, EnableCrossPartitionQuery = true }); } public async Task<IEnumerable> ExecuteQueryAsync(IQueryable query) { IDocumentQuery documentQuery = query.AsDocumentQuery(); List results = new List(); while (documentQuery.HasMoreResults) { results.AddRange(await documentQuery.ExecuteNextAsync()); } return results; […]

DocumentDB中每个集合的单个或多个实体

文档DB中每个集合应该有一个实体吗? 考虑我在下图中有外键关系: 我应该为员工创建两个集合,为公司创建其他集合。 或者我应该将它们存储在一个集合中? 我在这里读到,在documentdb中,存储过程触发器等的范围都在一个集合中。 因此,通过将不同的实体拆分为单独的集合,我开箱即用。 因此,将这两个类转储为单个实体并不是更好,如下所示: { “Id”: 1001, “Industry”: “Software”, “Employees”: [ { “Id”: 10011, “Name”: “John Doe”, “CompanyId”: 1001 }, { “Id”: 10012, “Name”: “Jane Doe”, “CompanyId”: 1001 } ] } 在DocumentDB中实现相关实体的标准做法是什么?