BitDB query マニュアル

datapayのこれまで使ったクエリーまとめ。

特定のトランザクションデータを取得する

{
  "v": 3,
  "q": {
    "find": {
      "tx.h": "トランザクション"
    }
  }
}

特定のアドレスのデータを取得する

{
  "v": 3,
  "q": {
    "find": {
      "in.e.a": "アドレス"
    }
  }
}

特定のアドレスで文字列検索する(AND検索)
検索対象の文字列.半角スペースで区切るとorで検索を行う。Not検索はワードの前に"-"をつける。(例:A not B -> A -B) また、A B Cという単語を検索する場合には "\"A B C \""とダブルクオーテーションを使用する。

{
  "v": 3,
  "q": {
    "find": {
      "in.e.a": "アドレス",
      "$text": { "$search": "\"aaa bbb ccc\"" }
    },
    "limit": 5
  }
}

特定のカラム?で検索する

{
  "v": 3,
  "q": {
    "find": {
      "in.e.a": "アドレス",
      "out.s4": { "$regex": "^正規表現", "$options": "i" }
    },
    "limit": 5
  }
}

オプションとかはmongodb参照
$regex — MongoDB Manual


5件表示の2ページ目を取得する

{
  "v": 3,
  "q": {
    "find": {
      "in.e.a": "アドレス"
    },
    "limit": 5,
    "skip": 5
  }
}

最新のトランザクションでソートする

{
  "v": 3,
  "q": {
    "find": {
      "in.e.a": "アドレス"
    },
    "limit": 5,
    "sort": {
      "blk": -1
    }
  }
}

取得データをjqで整形する

{
  "v": 3,
  "q": {
    "find": {
      "in.e.a": "アドレス"
    }
  },
  "r": {
    "f": "[.[] | .out[0] | { sample: .lb3} ]"
  }
}