简单的阿里云表格存储Nodejs SDK

项目链接:https://github.com/yzITI/simple-aliyun-tablestore
请前往项目链接查看最新文档!

阿里云表格存储功能强大,因而API非常繁琐,在只需要完成简单的数据存储功能时非常麻烦。此项目对阿里云的表格存储Nodejs SDK进行简化封装,用一部分功能的代价换取简单方便的接口。此项目省略的功能包括:

  1. 版本:不考虑多版本表格,也不考虑数据写入的时间戳。
  2. 表操作:不支持对表的操作,仅支持对数据的读写。
  3. 整数:整数数字会被自动转化为整数类型。
  4. 主键:默认使用一个主键id,但是支持自定义主键和多主键,请参考主键
  5. 多元索引:仅支持少数多元索引功能

开始使用

为了支持函数计算等应用场景,请直接复制代码仓库中的/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哦!

上一篇:安装Xftp7时出现致命错误:-1603的解决方法


下一篇:不用android studio,搭建flutter环境