如何在DocumentDB中使用使用多个集合的存储过程

时间:2017-02-07 03:39:19

标签: javascript c# stored-procedures azure-cosmosdb

我一直在使用C#在DocumentDB实例上运行操作,到目前为止它真的很喜欢它。我有很多C#代码,它们从多个集合中查询,从前两个集合之间的关系创建新的集合。

我可以在存储过程中将逻辑移到服务器吗?我尝试自己回答这个问题,但我能找到的只是如何获取与存储过程相关的集合的文档。那么我想,我可以调用一个调用另一个存储过程的存储过程,传入第一个集合吗?

有什么方法可以以某种方式引用存储过程中的多个集合?

更容易找到一种更简单的方法来了解属于每个"集合"如果我把所有东西存放在同一个系列中?

1 个答案:

答案 0 :(得分:6)

存储过程在单个集合(或分区集合中的单个分区)内运行。对存储过程的调用只能对该集合/分区中的数据进行操作。

当我看到这个问题时,我通常想知道你是否认为集合是对SQL世界中的表的直接模拟,甚至是使用单词"集合"来自MongoDB世界。在DocumentDB中,最好不要按类型分离数据,而是在同一个集合中混合不同类型的数据,并将其与其他扩展边界分开,如租户,用户,地理等。如果这样做,只要您的存储过程不需要跨越该租户,用户或地理边界,它就能够为您提供完全的ACID跨文档交易。