创建一个集合(.NET)
一个集合可以通过使用 DocumentClient
类的 CreateDocumentCollectionAsync
方法来创建。集合是 JSON 文档和关联的 JavaScript 应用程序逻辑的容器。
async Task CreateCollection(DocumentClient client)
{
var databaseName = "<your database name>";
var collectionName = "<your collection name>";
DocumentCollection collectionInfo = new DocumentCollection();
collectionInfo.Id = collectionName;
// Configure collections for maximum query flexibility including string range queries.
collectionInfo.IndexingPolicy = new IndexingPolicy(new RangeIndex(DataType.String) { Precision = -1 });
// Here we create a collection with 400 RU/s.
await client.CreateDocumentCollectionAsync(UriFactory.CreateDatabaseUri(databaseName),
collectionInfo, new RequestOptions { OfferThroughput = 400 });
}
或者你可以检查集合是否存在并在必要时创建它:
async Task CreateDocumentCollectionIfNotExists(DocumentClient client)
{
var databaseName = "<your database name>";
var collectionName = "<your collection name>";
try
{
await client.ReadDocumentCollectionAsync(UriFactory.CreateDocumentCollectionUri(databaseName, collectionName));
}
catch (DocumentClientException e)
{
// If the document collection does not exist, create a new collection
if (e.StatusCode == HttpStatusCode.NotFound)
{
DocumentCollection collectionInfo = new DocumentCollection();
collectionInfo.Id = collectionName;
// Configure collections for maximum query flexibility including string range queries.
collectionInfo.IndexingPolicy = new IndexingPolicy(new RangeIndex(DataType.String) { Precision = -1 });
// Here we create a collection with 400 RU/s.
await client.CreateDocumentCollectionAsync(UriFactory.CreateDatabaseUri(databaseName),
collectionInfo, new RequestOptions { OfferThroughput = 400 });
}
else
{
// Rethrow
throw;
}
}
}