繁体   English   中英

从数据库Azure DocumentDB接收所有文档

[英]Receive all documents from database Azure DocumentDB

我尝试从Azure DocumentDB数据库接收所有文档。 我找到了表明我的问题的示例,但是它不起作用。 https://github.com/Microsoft/azure-docs/blob/master/articles/documentdb/documentdb-sharding.md#create-queries-against-all-collections-in-the-database

我的代码(C#):

var client = new DocumentClient(new Uri(endPointUrl), authorizationKey);
var database = await client.ReadDatabaseAsync(UriFactory.CreateDatabaseUri(DatabaseId));
var documents = client.CreateDocumentQuery(database.Resource.SelfLink).ToList();

和我CreateDocumentQuery例外:

消息 :{“服务器无法解析网址。”}; 错误 :{{“代码”:“未找到”,“消息”:“服务器无法解析网址。” }};

因此,一次查询是否可以接收来自多个馆藏的文档?

因此,一次查询是否可以接收来自多个馆藏的文档?

简单的答案是不。您不能这样做。

您需要做的是首先列出数据库中的所有集合,然后分别从每个集合中获取文档。 对于每个集合,您将需要执行单独的查询。

另外,请注意,如果集合中的文档超过1000个,则单个请求最多返回1000个文档。 在这种情况下,您将从服务中获得延续令牌。 您将需要使用此延续令牌重新发送查询,以从该集合中获取下一组数据。 您将重复此过程,直到时间服务作为响应向您返回继续令牌。 缺少延续令牌将意味着已从集合中获取了所有文档。 然后,您可以转到数据库中的下一个集合(如果要执行顺序执行)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM