Amazons dynamodb(通过aws sdk)有一个很好的对象映射器可以在nodejs中使用吗?

Faz*_*azi 29 amazon-web-services node.js amazon-dynamodb

也许这个问题不适用于dynamoDB,因为它不是关系型Db.但是,我正在寻找一个好的对象映射器,它可以在nodejs和aws sdk中用于将现有的模型类映射到dynamoDB表.有没有人有这个问题/问题的经验,或者您是否使用过这样的模块/库?

aaa*_*sto 29

如果您正在寻找架构:

如果您正在寻找能够将javascript对象(甚至是圆形图形)抛出到:

dyngodb也支持全文搜索和交易.

两者都基于aws-sdk.


wit*_*mic 7

如果您使用 Typescript,dynamo-easy可能是一个不错的选择。只需向您的模型添加一些装饰器并开始使用它即可。

import { Model, PartitionKey, DynamoStore } from '@shiftcoders/dynamo-easy'

@Model()
export class Person {
  @PartitionKey()
  id: string
  name: string
  yearOfBirth: number
}

const personStore = new DynamoStore(Person)

personStore
  .scan()
  .whereAttribute('yearOfBirth').equals(1958)
  .exec()
  .then(res => console.log('ALL items with yearOfBirth == 1958', res))
Run Code Online (Sandbox Code Playgroud)

它使用 AWS DynamoDB sdk,但负责 JS 和 DynamoDB 类型之间的映射,并提供简单易用的流畅 API。

完全披露:我是这个库的作者之一


Tom*_*Tom 6

另外值得考虑的是简单的marshallers,它只是在dynamoDB格式和常规js对象或JSON之间进行转换.

DynamoDb-数据类型
https://github.com/kayomarz/dynamodb-data-types
https://www.npmjs.com/package/dynamodb-data-types

"此实用程序有助于表示AWS DynamoDb数据类型.它将JavaScript数据映射(marshalls)为DynamoDb所需的格式."

dynamoDb-封送
https://github.com/CascadeEnergy/dynamoDb-marshaler https://www.npmjs.com/package/dynamodb-marshaler

"将理智的javascript对象(和JSON)转换为DynamoDb格式,反之亦然." [不支持B类型.]

更新2016-06:
刚刚发现AWS SDK现在为您执行此操作.他们的文档只是部分转换,所以我想这是最近添加的.在这里阅读.

但是这些marshallers仍然有用,因为在某些情况下你不能使用新的文档客户端,例如.处理dynamoDB流时.


Hex*_*exy 5

您也可以尝试:https : //dynamoosejs.com/。它再次受到猫鼬的启发。


Dav*_*cek 0

你见过恐龙吗?这似乎是您正在寻找的类型,但我自己没有使用过。还有dynamodb-data-types,它不是 ORM,但可以轻松地与标准 JavaScript 对象进行转换。