我想返回CosmosDb集合中的所有文档
我的代码如下
client.CreateDocumentQuery(UriFactory.CreateDocumentUri(dbName, colName,"id")).ToList();
Run Code Online (Sandbox Code Playgroud)
它不起作用。我可以找到特定文件,但不是全部
谢谢
UriFactory.CreateDocumentUri 为特定于文档的查询创建一个Uri。
您想要的是集合中的所有文档,因此您需要创建的是创建集合Uri。您可以通过使用UriFactory.CreateDocumentCollectionUri(DatabaseName, CollectionName);
不过,请注意您的练习。对于返回大量文档的操作,建议您使用.AsDocumentQuery()方法,然后再执行ExecuteNextAsyncwhile query.HasMoreResults。
您应该这样做,因为CosmosDB SDK仅.ToList()在上使用时确实会通过电线同步跳闸IQueryable,这将对应用程序的性能造成不利影响。
using (var queryable = client.CreateDocumentQuery<Book>(
collectionLink,
new FeedOptions { MaxItemCount = 10 })
.Where(b => b.Title == "War and Peace")
.AsDocumentQuery())
{
while (queryable.HasMoreResults)
{
foreach(Book b in await queryable.ExecuteNextAsync<Book>())
{
// Iterate through books
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3267 次 |
| 最近记录: |