简介
Google Cloud Datastore 是用于存储非关系型数据的托管 NoSQL 数据库服务。它提供了高性能、可扩展、高可靠性的存储解决方案,可用于 Web 应用程序、移动应用程序、IoT 设备等。
google-cloud-datastore-node 是 Google Cloud Datastore 的 Node.js 客户端库,允许您在 Node.js 应用程序中轻松使用 Google Cloud Datastore 服务。
本文将教您如何使用 google-cloud-datastore-node 包来连接 Google Cloud Datastore 服务,并使用该服务获取、创建和更新数据。除此之外,我们还将分享一些最佳实践,帮助您设计可伸缩、可靠的应用程序。
准备工作
在开始使用 google-cloud-datastore-node 前,您需要进行以下准备工作:
- 已安装 Node.js 和 npm(npm 是默认包管理器)
- 具有 Google Cloud Platform(GCP)账户,并已启用 Google Cloud Datastore API。如果您还没有 GCP 账户,可以前往 Google Cloud 网站注册并创建一个新项目。
- 在 GCP 项目中,创建一个服务账户并为其生成一个密钥文件。将此文件存储在您的 Node.js 项目中,后续将用到它。
- 确保您具备基本的 Node.js 编程知识,如模块导入/导出、异步编程等。
安装 google-cloud-datastore-node
在开始使用 google-cloud-datastore-node 封装库前,您需要先将其安装到您的项目中。执行以下命令即可完成该操作。
npm install --save @google-cloud/datastore
在执行该命令前,请确保您已在您的 Node.js 项目中创建了 package.json 文件。如果尚未创建,请执行以下命令:
npm init
安装成功后,可以在您的 Node.js 项目中使用以下代码导入 google-cloud-datastore-node 包。
const {Datastore} = require('@google-cloud/datastore');
连接 Google Cloud Datastore
从 GCP 项目中获取的密钥文件包含了用于访问 Google Cloud Datastore 的认证信息。在连接库之前,您需要先加载此密钥文件,并使用其中的认证信息来构建 Datastore 实例。
以下示例代码演示了如何导入密钥文件并创建 Datastore 实例。
-- -------------------- ---- ------- ----- ----------- - ----------------------------------- ----- ---- - ---------------- ----- --------- - ------------------ ----- ------- - -------------------- ------------------------ ----- --------- - --- ----------- ---------- ---------- ------------ -------- ---
以上代码中,我们指定了一个项目 ID,Google Cloud Datastore 的实例将使用此 ID 来定位服务。此外,我们使用 keyFilename 属性指定了我们之前下载的密钥文件。
执行基本操作
在成功连接 Google Cloud Datastore 后,您就可以开始执行一些基本操作,如获取、创建、更新数据等。
获取数据
要获取数据,您需要先构建一个 Query 对象,查询已存在于存储区的数据。 Query 对象构建后,你可以在存储区执行此查询并获取结果。
以下示例代码演示了如何获取 Cloud Datastore 中的所有实体。
async function getAllEntities() { const query = datastore.createQuery('Person'); const [entities] = await datastore.runQuery(query); console.log(entities); // 打印结果 }
以上代码中,我们使用 createQuery 方法创建一个 Query 对象,该对象查询了存储区中名为 "Person" 的实体集。 query 对象创建后,我们可以使用 runQuery 方法执行该查询。
实体集查询完成后,我们将结果存储在 entities 变量中。 在本例中,我们将结果打印到控制台。 在您编写实际应用程序时,您可以将数据返回到应用程序的其他部分以显示它们,或者将它们用于创建和更新实体数据。
创建数据
要创建数据,您需要首先构建一个实体对象,该对象包含要存储在 Cloud Datastore 中的所有属性。然后将此实体对象通过函数提交至数据存储区以进行存储。
以下示例代码演示如何创建新的 Person 实体并将其保存到 Cloud Datastore 中。
-- -------------------- ---- ------- ----- ------ - - ---- ------------------------ ----- - ---------- ------- --------- ------ ---- --- -- -- ----- -------- -------------------- - ----- ------------- - ----- ----------------------- ------------------- ----------------------------- ------- ---------------- -
在上面的示例中,我们首先创建一个包含 firstName、lastName 和 age 属性的 JSON 对象。然后,我们使用 datastore.key 方法将实体对象与 key 绑定。它必须唯一地标识新对象,如自动生成的唯一标识符。
最后,我们使用 save 方法将实体保存到 Cloud Datastore 中。成功保存后,我们将它打印到控制台。
更新数据
更新 Cloud Datastore 中的实体非常类似于创建实体。需要首先构建一个包含要更新属性的实体对象。稍后,您可以使用 update 方法将此对象提交给数据存储区。
以下示例代码演示如何更新名为 "John" 的 Person 实体的年龄属性。
-- -------------------- ---- ------- ----- --- - ------------------------ --------- ----- ------ - - ---- ----- - ---------- ------- --------- ------ ---- --- -- -- ----- -------- ----------------- ------- - ----- --------------- - ----- ------------------ ---- ----- ----------- --- ------------------- --------------------- ------- ---------------- -
在上面的示例中,我们首先使用 datastore.key 方法检索包含名为 "John" 的实体的 key 对象。然后,我们构建一个实体对象 entity,其中包含要更新的属性。
注意,在保存实体时,我们只更新未被更改的属性。在本例中,仅 age 属性被更改,因此只有该属性被更新。然后,我们使用 update 方法提交实体对象并将其保存到 Cloud Datastore 中。更新成功后,我们将其打印到控制台。
结论
在本文中,我们介绍了如何使用 google-cloud-datastore-node 包连接 Google Cloud Datastore 服务,并学习了一些创建、读取、更新数据的基本操作。这些操作是构建可伸缩、可靠的应用程序的关键内容,并且有助于将其扩展以处理更多的请求。
当您开始构建更复杂的应用程序时,应该进一步研究 Google Cloud Datastore,并掌握更多的最佳实践和技巧。希望这篇文章能够为您提供一个良好的起点。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056af581e8991b448e5309