我正在使用Azure Cosmos DB,我需要获取特定数据库集合的所有文档。因此,为了执行存储过程,他们要求输入分区键值,但我需要没有任何过滤器的查询结果。
如何在不提及分区键的情况下为特定数据库创建集合?我正在访问https://portal.azure.com/的Cosmos DB。我必须从该UI本身创建一个集合,而不是从代码创建。
首先,关于存储过程执行需要分区密钥。您可以在link中找到以下明确的语句:
如果存储过程与Azure Cosmos容器关联,则存储过程在逻辑分区键的事务范围内执行。每个存储过程执行必须包含与事务范围对应的逻辑分区键值。有关更多信息,请参阅Azure Cosmos数据库分区文章。
其次,在过去,你可以在门户网站上创建非分区集合。但是现在,你不能。请看我之前的案例:Is it still a good idea to create comos db collection without partition key?。根据您的描述,您不希望分区收集。因此,请使用Cosmos DB SDK创建非分区收集。如:
DocumentCollection collection = new DocumentCollection();
collection.set("id","jay");
ResourceResponse<DocumentCollection> createColl = client.createCollection("dbs/db",collection,null);