DocumentDB不使用简单的MongoDB命令

时间:2017-04-19 13:42:45

标签: c# linq azure-cosmosdb

我正在考虑使用DocumentDB,特别是为了能够使用我的MongoDB代码。 DocumentDB非常快速且价格合理,但我遇到了一些困难:

我有这个代码适用于MongoDB:

var categoriesList = await Pessoa.Distinct<string>("Enderecos.Cidade", new BsonDocument()).ToListAsync();

此异常发生:

  

MongoCommandException:命令distinct failed:命令不是   支撑。

关于此代码:

var cidades = Pedido.AsQueryable().Where(d => d.DocType == new Pedido().DocType)
                 .GroupBy(p => p.Cliente.Enderecos[0].Cidade)
                 .ToList();

它给出了这个例外:

  

MongoDB.Driver.MongoCommandException:&#39;命令聚合失败:   &#39; $组&#39;不受支持。&#39;

如何才能使其在DocumentDB上运行?是否有任何简单等效代码可以使用此功能? DocumentDB上的区别/分组?

DocumentDB必须支持这一点。我会留在Mongo上,直到他们发布这些功能。

1 个答案:

答案 0 :(得分:2)

托尼 -

支持GroupBy即将到来。与此同时,您可以通过以下几种方式实现相同的功能:

  • 通过枚举不同的值,然后逐个聚合它们
  • 在DocumentDB的更改源上使用流式传输模式(在写入时实现聚合)
  • 使用Spark + DocumentDB