在开发Web应用程序时,使用数据库存储应用程序数据是非常普遍的。 AWS DynamoDB 是大型分布式无服务器数据库,因为其可靠性和可扩展性而备受开发人员欢迎。本文将介绍如何使用npm包dynamodb-mapper将数据存储在DynamoDB中并查询数据。
什么是dynamodb-mapper
dynamodb-mapper是一种用于Node.js应用程序的AWS SDK包装器。它提供了一组抽象函数来存储和检索数据,而不需要直接使用AWS SDK API .dynamodb-mapper使您的代码更易于维护和升级,因为您不必直接使用底层API文档,并且它使您的代码更集中,因为您可以将映射指令和查询分离为模块。
如何使用dynamodb-mapper
安装dynamodb-mapper
首先需要在本地装有node.js和npm,在终端输入以下命令来安装dynamodb-mapper:
npm install dynamodb-mapper
配置AWS连接
在使用dynamodb-mapper之前,您需要有一个有效的AWS Elite.连接。这里的示例代码是如何在Node.js中配置连接的:
const AWS = require('aws-sdk'); AWS.config.update({ accessKeyId: 'YOUR_ACCESS_KEY_ID', secretAccessKey: 'YOUR_SECRET_ACCESS_KEY', region: 'YOUR_REGION' });
创建一个表
使用dynamodb-mapper创建一个针对某个特定对象的表。在此示例中,我们将创建一个表以存储用户数据。
-- -------------------- ---- ------- ----- ------------ - ------------------------------------- ----- ------ - ------------------ ----- ------ - --- ------------ ------- --- --------------- ---------------- ------ --- ----- ---------------- - ------------------------ - ------------------ --- ------------------- -- ------------- - ----- ---------------- ------------- ----------- -------- ----------- - ---
要创建表,请使用createTable
函数,并提供一个表名称与选项以配置表。在此示例中,我们提供了用户表,并设置了表的读写容量单位,以及包含用户名和创建时间戳的索引。
增加数据
要将数据添加到您的表中,请使用put
函数。 在此示例中,我们将在用户表中创建具有相应属性的用户。
-- -------------------- ---- ------- ----- ------ - ------------------ ----- ---- - --- ------- ------------- - ---------- ---------- - -------------------- -------------- - --- ------- ------------------------ -- - ----------------- ----- -- ----------- -------------- -- - ------------------- ---
查询数据
要从表中检索数据,请使用query
函数。在此示例中,我们将查询具有给定用户名的所有用户。
const {User} = require('./user'); const username = 'johndoe'; const userIterator = mapper.query(User, {username}); for await (const user of userIterator) { console.log(user); }
完整代码示例
这是完整操作DynamoDb的示例代码。
-- -------------------- ---- ------- ----- --- - ------------------- ----- ------------ - ------------------------------------- ----- ------ - ------------------- ------------------- ------------ --------------------- ---------------- ------------------------- ------- ------------- --- ----- ------ - --- ------------ ------- --- --------------- ---------------- ------ --- ----- ---- - ------------- - ------- - --------- ------------- - ---------- ---------- - ---------- -------------- - ---------- - - ------ -- -- - --- - ----- ------------------------------ - ------------------ --- ------------------- -- ------------- - ----- ---------------- ------------- ----------- -------- ----------- - --- ----- ---- - --- ------- ------------- - ---------- ---------- - -------------------- -------------- - --- ------- ----- ----------------- ----- -------- - ---------- ----- ------------ - ------------------ ------------ --- ----- ------ ---- -- ------------- - ------------------ - - ----- ------- - --------------------- - -----
总结
dynamodb-mapper可简化node.js应用程序中的数据存储并查询。使用dynamodb-mapper,开发人员可以更专注于应用程序逻辑,而不必关注数据库。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066dad7108f76aa73eca93