IBM Cloud Docs
创建基于 Web 的任务列表

创建基于 Web 的任务列表

创建基于 Web 的简单任务列表,以熟悉基本 IBM Cloud 功能。

目标

  1. 在本教程中,您将学习如何创建与 IBM Cloud 数据库交互以读写数据的基本 Web 站点。

    该项目是一个简单的任务列表,您可以在其中查看注释列表。 您可以添加和删除注释。 您的每个注释都有一个标记,您可以按标记过滤注释。

  2. 要创建此任务列表,应用程序需要能够读写数据库。 要按“最新优先”顺序读取待办事宜并按标记进行过滤,您的数据库需要具有一些辅助索引。 现在,我们可以创造所有这些。

您可以在不到一个小时内完成教程。 与当前 IBM Cloudant 帐单相比,这不会使您付出任何代价 (因此,如果您使用的是 IBM Cloudant Lite 套餐,那么此帐单是免费的)。

您创建的 Web 站点是从本地机器提供的,因此除了 IBM Cloud外,不需要其他服务。

完成后,您将基本了解应用程序如何通过 IBM Cloudant SDK (在本例中为 NodeJS) 与 IBM Cloudant 进行交互。

准备工作

完成本教程需要以下工具:

  1. IBM Cloudant 服务实例和一些服务凭证。 您可以遵循 IBM Cloudant 教程,在 IBM Cloudant 仪表板中创建实例和凭证。 创建服务凭证时,请确保记录 APIKey 和 URL。
  2. 确保您有权访问 Mac 或 Linux™ 终端。
  3. 下载 Git
  4. 下载 Node.js 和 npm

获取代码

  1. 打开终端。

  2. 输入以下命令:

    git clone https://github.com/IBM-Cloud/todo-list.git
    cd todo-list
    

准备环境并运行 Web 站点

在此步骤中,您将安装运行 Web 站点所需的所有代码依赖关系和环境变量。

  1. 确保您位于 todo-list 目录中。

  2. 在终端运行以下命令

    npm install
    export CLOUDANT_APIKEY="<the_apikey_from_prerequisites>"
    export CLOUDANT_URL="https://<the_url_from_prerequisites>"
    npm run start
    

首次运行此命令时,代码会检测到不存在任何数据库。 该代码使用一些索引 (按日期和标记) 和一些样本数据为您创建数据库。

查看您的 Web 站点!

现在,您可以查看您的 Web 站点。

  1. 在浏览器中,转至 https://localhost:8080

    您可以查看任务列表,其中包含一些项:

    您的待办事项清单
    您的网络待办事项
    * 您的网络待办事项清单

  2. 添加或删除注释,或者可以通过单击其中一个标记来按标记进行过滤。

了解代码

创建数据库和索引

在启动时,后端脚本 (server.js) 尝试使用 getDatabaseInformation 方法连接到 todo 数据库。 如果找不到该文件,那么将尝试使用 putDatabase 方法来创建该文件。

创建 todo 数据库后,它将使用 postIndex 方法创建两个索引。 第一个在时间戳记字段 (注释的创建日期) 上创建索引,因此可以按逆向时间顺序检索所有注释。 第二个索引位于标记和时间戳记上,以便可以按标记进行过滤并返回已知标记的日期排序列表。

使用数据库

当您单击不同的操作 (例如,创建,删除和过滤) 时,前端将使用流行的 express 框架在后端显示 Web 页面和调用服务端点。

例如,首次装入 Web 页面时,它会调用 GET /todolist 端点。 GET /todolist 端点使用 postFind 方法在数据库中查询所有文档 (通过使用在 todo 数据库之后创建的索引),然后按时间戳记对注释进行排序,并将其返回到前端以进行显示。

按标记过滤使用相同的 postFind 方法,但通过使用第二个索引,您可以使用 postDocumentdeleteDocument 方法来创建和删除注释。

摘要

IBM Cloudant 允许快速开发 Web 应用程序,因为其 HTTP API 由 Node.js SDK 建模,并且易于与您自己的代码集成。 创建 IBM Cloudant 数据库并添加对您自己的数据进行建模的 JSON 文档。 请记住创建辅助索引以帮助维护查询访问模式,从而使查询性能在数据量增长时保持快速。

如果您不喜欢编写JavaScript,我们还有 Java™、Python 和 Go SDK 以及 HTTP API。 别忘了 IBM Cloudant 仪表板 是探索数据库,创建和修改文档以及优化索引和查询技能的最佳方法。

您可以在 博客文档 中找到更多最佳实践指南。 有关 IBM Cloudant 及其功能的视频指南,请参阅 学习中心 中的课程。