0

我在 npmjs.org 上看到了很多 DynamoDB 模块。我猜它们都早于二级索引的引入,因此不支持它们。有谁知道支持二级索引的 Node.js 的高级 DynamoDB 模块?

4

4 回答 4

1

我编写的模块之一dynamo-table支持二级索引。

您可以在表构造函数中指定它们,然后库可以确定查询中是否需要索引:

table = dynamoTable('customers', {
  key: ['id', 'name'],
  indexes: {emailIx: 'email'}
})

table.query({id: 'a', email: {'>': 'b'}}, function(err, items) {
  // query will have been called with IndexName: emailIx
})

createTable调用还将使用给定的二级索引创建表 - 您还可以指定投影和类型。

table = dynamoTable('customers', {
  key: ['id', 'name'],
  keyTypes: {age: 'N'},
  indexes: {ageIx: {key: 'age', projection: ['address', 'dob']}}
})

table.createTable(function(err) {
  // will correctly populate LocalSecondaryIndexes and AttributeDefinitions
})

目前,文档有点浅(典型!),但您应该能够从测试中找到更多信息。

于 2013-05-26T00:44:48.007 回答
1

适用于 Node.js的AWS 开发工具包支持 Amazon DynamoDB 的二级索引。你可以在github上找到它的代码,或者你可以通过 npm 获取它:

npm install aws-sdk
于 2013-05-30T21:16:09.937 回答
1

如果您喜欢类似 MongoDB 的界面,您可以使用: https ://github.com/aaaristo/dyngodb

npm install -g dyngodb
于 2013-10-07T12:01:17.797 回答
1

我最近开始使用vogels。很棒 - 似乎维护得很好,并且具有类似猫鼬的语法。它支持二级索引和并行扫描,其他 dynamo sdk 很少(不是?)这样做。我不知道为什么在我对 dynamo+node 库进行的前 100 次搜索中没有找到它...

于 2014-02-20T22:45:32.840 回答