FlureeDB 交互

目前 SeeDAO OS 数据库使用的是区块链数据库 FlureeDB,基本上可以视为一个图数据库。

Read-Only 操作:Query

所有任何的查询都是使用 Query 进行查询,你应该会在所有组件的 .model.ts 中看到类似如下:

// 引入 FlureeDB
import flureedb from '../../../config/flureedb';
// 引入 Query
import userQUery from './user.query';

// 常见的 Query 函数
function findUsersById(ids) {
  return new Promise((resolve, reject) => {

    // Step1 透过 Query 建立 json
    const tx = userQUery.findUsersById(ids);

    // Step2 透过 Query 指令查询
    flureedb
      .query(tx)
      .then(async (response) => {
        const body = await response.text();
        // Step3 回传字串透过 bodyParser 处理
        resolve(flureedb.bodyParser(body));
      })
      .catch((error) => {
        console.log('error:', error);
        reject(error);
      });
  });
}

FlureeDB 的 Query 方式比较特殊,请查看 SeedDAO 文档:第四课:基本 Query 了解。

Write 操作:transact

如果是要送出需要改动的操作,则是需要使用 transact 的功能,基本上与 Query 没有差别,只是呼叫的函数改为 flureedb.transact(tx)

Last updated