I need the number of documents stored in a collection in my Azure Cosmos Db database. How can I get the count using LINQ query on the IQueryable
object?
docDbClient.CreateDocumentQuery<TResult>().Count()
If I do above, I am unable to follow it up with .AsDocumentQuery()
method.
This is my async implementation (use Count, for the sync version):
var count = await DocumentClient.
CreateDocumentQuery<T>(CreateCollectionUri(), CreateFeedOptions()).
Where(predicate).
CountAsync();
where predicate is Expression<Func<T, bool>>
Another way to acheive that is:
using Microsoft.Azure.Cosmos.Linq; // required for CountAsync()
//...
cosmosClient
.GetContainer(databaseName, containerName)
.GetItemLinqQueryable<MyRecord>(true)
.Where(r => r.Name == "John")
.Where(r => r.Status == MyRecordStatus.Approved)
.CountAsync()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With