我在 npmjs.org 上看到了很多 DynamoDB 模块。我猜它们都早于二级索引的引入,因此不支持它们。有谁知道支持二级索引的 Node.js 的高级 DynamoDB 模块?
问问题
2853 次
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 回答