鑑於從@neillunn註釋和缺乏對影響是似乎對cosmosdb聚合功能不通過蒙戈API支持的任何文件。看起來intention是爲集合使用cosmosdb Documentdb API SQL語法。
LINQ語法
var client = new DocumentClient(new Uri("https://<account>.documents.azure.com"),<password>);
// issue query
var documentUri = UriFactory.CreateDocumentCollectionUri("Prod", "retrieve");
var date = "20161011".Dump("Date");
var max = client.CreateDocumentQuery<ObservationDocument>(documentUri)
.Where(i => i.Id == date)
.SelectMany(i => i.observations)
.Max(i => i.Duration);
SQL語法
// explicit query
var spec = new SqlQuerySpec("select value count(o.duration) from days d join o in d.observations where d._id = @id");
spec.Parameters = new Microsoft.Azure.Documents.SqlParameterCollection();
spec.Parameters.Add(new Microsoft.Azure.Documents.SqlParameter("@id", "20161010"));
client.CreateDocumentQuery(UriFactory.CreateDocumentCollectionUri("Prod", "retrieve"), spec).Dump("As query");
考慮到「底下」會發生什麼,從「驅動程序」發出的有線協議被「映射」到特定的CosmosDB方法,那麼這些特定的錯誤將表明它不被支持。一小段「搜索引擎fu」只顯示了最近添加的內容,允許「SQL聚合」,並且根本沒有任何文檔表明對MongoDB聚合有任何支持。因此,除非最近添加,否則沒有任何文件加上錯誤來加強案件意味着「否」。我認爲具體的錯誤實際上是這裏的具體事情。 –
@NeilLunn我也懷疑這一點。叫我天真,但我希望我做錯了什麼。 – Tedford
@Tedford - 現在支持聚合管道。查看我的相關答案(連同發佈的支持功能列表的鏈接)。 –