对于DynamoDB和节点,我应该使用数据映射器吗?

时间:2018-05-24 03:14:56

标签: node.js nosql amazon-dynamodb aws-sdk

我正在使用node和dynamodb创建一个Web应用程序。对于sql数据库,有Sequelize,对于mongodb,有mongoose。但对于dynamodb,我应该使用什么?我应该使用dynamodb data mapper吗?对于dyanmodb还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

为什么不使用AWS所做的? DynamoDB Data mapper。它是一个打字稿项目,所以它也有类型。我不知道这与你选择的那个有什么区别。对我来说,它是许多应用程序的不错选择。如果您的属性类型为string,int,datetime ......那么它会对您有所帮助。但是我无法将它与嵌套类型一起使用。如果你是一张地图'属性,它有一些可变的嵌套属性,映射器无法处理它。只有更新项功能。

简而言之,

  • 如果你要使用一个不同于SQL的无方案模型,你的属性会因每个条目的不同而不同
  • 如果您正在执行特定于属性的操作,例如仅更新地图字段而不是整个地图属性(因为UpdateItem会更新所有嵌套字段)

然后我不建议使用映射器。相反,像我一样,对于这样的项目,您可以创建处理所有DocumentClient操作的小型dynamodb模块(如客户端)。在您习惯了文档客户端后,文档客户端变得如此自然且易于使用。