数据表

数据存储是知晓云提供的核心功能之一,借助它,你可以省去自己搭建数据库,维护数据库及优化数据库查询等麻烦操作。通过以下操作,便可以向在控制台创建的数据表添加一条记录:

要操作数据表,需要借助 Table 对象,每个 Table 实例对应一张数据表,通过 Table 实例,你可以对数据表进行增删改查的操作。

当我们需要创建一行新的数据时,使用 createRecord() 方法, 该方法无需传入参数,createRecord() 方法 返回值为 Record 对象。

通过 Record 实例的 putsave 方法,可以完成数据行的创建。

  1. try {
  2. // 通过 `tableName` 实例化一个 `Table` 对象,操作该对象即相当于操作对应的数据表
  3. Table product = new Table("product");
  4. // 本地创建一条空记录
  5. Record record = product.createRecord();
  6. record.put("name", "apple");
  7. record.put("price", 1);
  8. record.put("desc", Arrays.asList("good"));
  9. record.put("amout", 0);
  10. // 为上面创建的空记录赋值,并保存到服务器
  11. record.save();
  12. // 操作成功
  13. } catch (Exception e) {
  14. // 操作失败
  15. }

返回示例

record 具有以下字段:

  1. {
  2. "_id": "59a3c2b5afb7766a5ec6e84e",
  3. "amount": 0,
  4. "created_at": 1503904437,
  5. "created_by": 36395395,
  6. "desc": ["good"],
  7. "id": "59a3c2b5afb7766a5ec6e84e",
  8. "name": "apple",
  9. "price": 1.0,
  10. "read_perm": ["user:*"],
  11. "updated_at": 1503904437,
  12. "write_perm": ["user:*"]
  13. }

数据表支持多种类型的数据,包括数组类型,时间日期类型,和文件类型,并且支持原子操作等高级功能,如下,既是对产品数量的进行原子性减 1 操作:

通过 Table 实例上的 fetchWithoutData() 方法,我们得到一个 Record 实例,该实例指向了 id 为 recordID 的数据行,接下来的对该 Record 实例的操作会修改数据表中对应数据行的内容。

  1. Record record = product.fetchWithoutData("recordID");
  2. record.incrementBy("amout", 1);
  3. record.save();

同时,SDK 提供了多种复杂查询操作,包括数组查询,甚至是与或的组合查询

阅读以下章节,了解更多数据表操作接口: