Azure Cosmos DB Node.js 示例

对 Azure Cosmos DB 资源执行 CRUD 操作和其他常见操作的示例解决方案包含在 azure-documentdb-nodejs GitHub 存储库中。 本文将提供:

  • 指向每个 Node.js 示例项目文件中任务的链接。
  • 指向相关 API 参考内容的链接。

先决条件

Note

如果没有 Azure 订阅,可在开始前创建一个试用帐户

或者,可以将 Azure Cosmos DB 模拟器用于本教程,该模拟器的 URI 为 https://localhost:8081,密钥为:

C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==

还需要 Node.js SDK

Note

每个示例都是独立的,自行对自身进行设置并在完成后自行进行清理。 因此,这些示例对 DocumentClient.createCollection发出多个调用。 每次执行完此操作,均会按照正在创建的集合的性能层,向订阅收取使用 1 小时的费用。

数据库示例

DatabaseManagement 项目的 app.js 文件演示如何执行以下任务。

任务 API 参考
创建数据库 DocumentClient.createDatabase
查询数据库帐户 DocumentClient.queryDatabases
按 ID 读取数据库 DocumentClient.readDatabase
列出帐户的数据库 DocumentClient.readDatabases
删除数据库 DocumentClient.deleteDatabase

集合示例

CollectionManagement 项目的 app.js 文件演示如何执行以下任务。

任务 API 参考
创建集合 DocumentClient.createCollection
在数据库中读取所有集合的列表 DocumentClient.readCollections
按 _self 获取集合 DocumentClient.readCollection
按 ID 获取集合 DocumentClient.readCollection
获取集合的性能层 DocumentQueryable.queryOffers
更改集合的性能层 DocumentClient.replaceOffer
删除集合 DocumentClient.deleteCollection

文档示例

DocumentManagement 项目的 app.js 文件演示如何执行以下任务。

任务 API 参考
创建文档 DocumentClient.createDocument
读取集合的文档源 DocumentClient.readDocument
按 ID 读取文档 DocumentClient.readDocument
仅当文档已更改时读取文档 DocumentClient.readDocument
RequestOptions.accessCondition
查询文档 DocumentClient.queryDocuments
替换文档 DocumentClient.replaceDocument
使用条件 ETag 检查替换文档 DocumentClient.replaceDocument
RequestOptions.accessCondition
删除文档 DocumentClient.deleteDocument

索引示例

IndexManagement 项目的 app.js 文件演示如何执行以下任务。

任务 API 参考
使用默认索引创建集合 DocumentClient.createCollection
手动为特定文档编制索引 RequestOptions.indexingDirective: 'include'
手动从索引中排除特定文档 RequestOptions.indexingDirective: 'exclude'
对批量导入使用延迟索引或读取大量集合 IndexingMode.Lazy
在索引中包含文档的特定路径 IndexingPolicy.IncludedPaths
从索引中排除某些路径 IndexingPolicy.ExcludedPath
允许在范围操作期间扫描字符串路径 FeedOptions.EnableScanInQuery
在字符串路径上创建范围索引 IndexKind.RangeIndexingPolicyDocumentClient.queryDocument
使用默认 indexPolicy 创建集合,并联机进行更新 DocumentClient.createCollection
DocumentClient.replaceCollection#replaceCollection

有关索引的详细信息,请参阅 Azure Cosmos DB 索引策略

服务器端编程示例

ServerSideScripts 项目的 app.js 文件演示如何执行以下任务。

任务 API 参考
创建存储过程 DocumentClient.createStoredProcedure
执行存储过程 DocumentClient.executeStoredProcedure

有关服务器端编程的详细信息,请参阅 Azure Cosmos DB 服务器端编程:存储过程、数据库触发器和 UDF

分区示例

Partitioning 项目的 app.js 文件演示如何执行以下任务。

任务 API 参考
使用 HashPartitionResolver HashPartitionResolver

有关在 Azure Cosmos DB 中对数据进行分区的详细信息,请参阅对 Azure Cosmos DB 中的数据进行分区和扩展