在azure db中获取文档集合?

时间:2018-01-29 08:25:45

标签: c# azure

在云端功能中使用Azure DB我有以下内容:

 var client = new DocumentClient(new Uri(endPoint), primaryKey);
            var collUrl = UriFactory.CreateDocumentCollectionUri("id", "course");

            var doc = (await client.ReadDocumentCollectionAsync(collUrl)).Resource;

doc是一个DocumentCollection,但看起来没有任何方法可以访问枚举器或其他东西来查看内容,所以我可能在错误的位置?

2 个答案:

答案 0 :(得分:3)

  

doc是DocumentCollection

正如您所说,doc是一个documentCollection,更多细节请参考 DocumentClient.ReadDocumentCollectionAsync方法用于从Azure Cosmos数据库服务中读取DocumentCollection作为异步操作。

  

但它看起来没有办法访问枚举器或查看内容的东西,所以我可能在错误的地方?

如果要列出集合中的文档,我们可以使用DocumentClient.CreateDocumentQuery方法来执行此操作。我们也可以从github

获取演示代码
   var doc = (await client.ReadDocumentCollectionAsync(collUrl)).Resource;
   var documents = client.CreateDocumentQuery(doc.SelfLink).AsEnumerable().ToList();

enter image description here

答案 1 :(得分:1)

据我所知,集合本身没有迭代器。但是,您可以像这样在集合上创建查询:

var docs = client.CreateDocumentQuery(collUrl);
foreach (var document in docs)
{
    // Do stuff with your document
}

请注意,目前CreateDocumentQuery有很多重载。