项目链接:https://github.com/yzITI/simple-aliyun-tablestore
请前往项目链接查看最新文档!
阿里云表格存储功能强大,因而API非常繁琐,在只需要完成简单的数据存储功能时非常麻烦。此项目对阿里云的表格存储Nodejs SDK进行简化封装,用一部分功能的代价换取简单方便的接口。此项目省略的功能包括:
id
,但是支持自定义主键和多主键,请参考主键为了支持函数计算等应用场景,请直接复制代码仓库中的/SAT.js
。
需要先安装官方的Nodejs SDK: npm i tablestore
const SAT = require('./SAT.js') SAT.init('endpoint', 'instance', 'akId', 'akSecret') async function test () { const opt = SAT.table('tablename') // 覆盖写入行 await opt.put('rowid', { hello: 'world!' }) // 读取行,返回包含行属性的对象 const res = await opt.get('rowid') console.log(res) } test()
新增了短的常量符号,与官方常量的对照关系如下:(官方的常量依然支持)
I IGNORE E EXPECT_EXIST NE EXPECT_NOT_EXIST == EQUAL != NOT_EQUAL > GREATER_THAN >= GREATER_EQUAL < LESS_THAN <= LESS_EQUAL ! NOT && AND || OR
条件变量c
可以描述行的存在条件,也可以同时描述列条件。常规情况下,c
是一个如下格式的数组:
c = ['E', ['num', '==', 10], ['space', '>', 10]]
数组首个元素是字符串,指定期望的行条件。从第二个元素开始,每个元素是一个长度为3的数组,描述一个列条件。多个列条件默认使用逻辑与连接。
上述例子中的条件表示:期望行存在 and num属性值等于10 and space属性值大于10
当不需要列条件时,条件变量c
可以省略为一个字符串,描述期望的行条件。
若需要多个主键或自定义主键,需要在生成表的操作对象时指定,并在传入主键时按顺序传入数组,例如:
const opt = SAT.table('tablename', ['pk1', 'pk2']) const res = await opt.get(['pk1value', 123])
https://github.com/yzITI/simple-aliyun-tablestore
如果喜欢,请给个star哦!