オブジェクト組み込みオブジェクト

オブジェクトレベルDB

evelDB は fibjs の組み込みデータベース操作オブジェクトであり、キーと値のペアの形式で辞書オブジェクトを作成および管理するために使用されます。LevelDB オブジェクトを使用すると、キーと値のペアのデータ保存、クエリ、削除、列挙などの操作を簡単に実装できます。Google のオープンソース LevelDB に基づいて実装されており、効率性、信頼性、拡張性の利点があります。

LevelDB オブジェクトの作成は非常に簡単で、渡すだけです。db.openLevelDBメソッドは、指定された名前でデータベース オブジェクトを作成します。例えば:

1 2
var db = require("db"); var test = db.openLevelDB("test.db");

で、dbは fibjs のデータベース操作オブジェクトです。openLevelDB メソッドは leveldb データベースを開くために使用されます。test.db はデータベース名で、関数は次の値を返します。testオブジェクトはデータベースを操作するオブジェクトです。

LevelDB オブジェクトによってサポートされる主な操作は次のとおりです。

  • set(key, value): キー値のデータを設定します。キー値が存在しない場合は、新しいデータを挿入します。
  • get(key): 指定されたキー値の値を問い合わせます。
  • has(key): 指定されたキー値が存在するかどうかを確認します。
  • Remove(key): 指定されたキー値のすべての値を削除します。
  • forEach(func): データベース内のすべてのキーと値のペアを列挙します。
  • between(from, to, func): from と to の間のキー値を持つデータベース内のキーと値のペアを列挙します。
  • toJSON(key): オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能な属性のセットを返します。
  • begin(): 現在のデータベースでトランザクションを開始します。
  • commit(): 現在のトランザクションを送信します。
  • close(): 現在のデータベース接続またはトランザクションを閉じます。

例えば:

1 2 3 4 5 6 7 8 9 10 11 12 13
var db = require("db"); var test = db.openLevelDB("test.db"); test.set("test_key", "test_value"); var value = test.get("test_key"); console.log("test_key:", value.toString()); test.remove("test_key"); console.log("has test_key:", test.has("test_key")); test.close();

以上が、キーと値のペアデータを便利かつ柔軟に操作できるLevelDBオブジェクトの基本的な使い方と例です。実際のアプリケーションでは、ストレージ、キャッシュ、ロギング、その他のシナリオで使用して、データの読み取りと書き込みの効率を向上させ、プログラム ロジックを簡素化し、開発の複雑さを軽減することができます。

相続関係

メンバー関数

has

指定したキー値を持つデータがデータベースに存在するか確認します

1
Boolean LevelDB.has(Buffer key) async;

呼び出しパラメータ:

  • key:Buffer、チェックするキー値を指定します

返される結果:

  • Boolean、キー値が存在するかどうかを返します。

get

指定されたキー値の値を問い合わせます

1
Buffer LevelDB.get(Buffer key) async;

呼び出しパラメータ:

  • key:Buffer、クエリするキー値を指定します

返される結果:

  • Buffer、キー値に対応する値を返します。キー値が存在しない場合は、null を返します。

mget

指定されたキー値のセットの値をクエリします。

1
NArray LevelDB.mget(Array keys);

呼び出しパラメータ:

  • keys: 配列。クエリするキー値の配列を指定します。

返される結果:

  • NArray、キー値を含む配列を返します。

set

キー値のデータを設定します。キー値が存在しない場合は、新しいデータを挿入します。

1 2
LevelDB.set(Buffer key, Buffer value) async;

呼び出しパラメータ:

  • key:Buffer、設定するキー値を指定します
  • value:Buffer、設定するデータを指定します

mset

キー値データのセットを設定します。キー値が存在しない場合は、新しいデータを挿入します。

1
LevelDB.mset(Object map);

呼び出しパラメータ:

  • map: オブジェクト。設定するキーと値のデータ ディクショナリを指定します。

mremove

指定されたキーの値のセットを削除します

1
LevelDB.mremove(Array keys);

呼び出しパラメータ:

  • keys: 配列、削除するキー値配列を指定します

remove

指定したキーの値をすべて削除します

1
LevelDB.remove(Buffer key) async;

呼び出しパラメータ:

  • key:Buffer、削除するキー値を指定します

firstKey

最小のキーを問い合わせる

1
Buffer LevelDB.firstKey() async;

返される結果:

  • Buffer、最小のキーを返します

lastKey

最大のキーをクエリする

1
Buffer LevelDB.lastKey() async;

返される結果:

  • Buffer、最大のキーを返します

forEach

データベース内のすべてのキーと値のペアを列挙します。

1
LevelDB.forEach(Function func);

呼び出しパラメータ:

  • func: 関数、列挙型コールバック関数

コールバック関数には 2 つのパラメータ (値、キー) があります。

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach(function(value, key) { ... });

データベース内のすべてのキーと値のペアを列挙します。

1 2
LevelDB.forEach(Buffer from, Function func);

呼び出しパラメータ:

  • from:Buffer、列挙の最小キー値。このキー値は列挙中に含まれます。
  • func: 関数、列挙型コールバック関数

コールバック関数には 2 つのパラメータ (値、キー) があります。

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach("aaa", "bbb", function(value, key) { ... });

データベース内のすべてのキーと値のペアを列挙します。

1 2 3
LevelDB.forEach(Buffer from, Buffer to, Function func);

呼び出しパラメータ:

  • from:Buffer、列挙の最小キー値。このキー値は列挙中に含まれます。
  • to:Buffer、列挙型の最大キー値。このキー値は列挙型には含まれません。
  • func: 関数、列挙型コールバック関数

コールバック関数には 2 つのパラメータ (値、キー) があります。

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach("aaa", "bbb", function(value, key) { ... });

データベース内のすべてのキーと値のペアを列挙します。

1 2
LevelDB.forEach(Object opt, Function func);

呼び出しパラメータ:

  • opt: オブジェクト、列挙オプション、スキップ、制限、反転をサポート
  • func: 関数、列挙型コールバック関数

コールバック関数には 2 つのパラメータ (値、キー) があります。

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach(function(value, key) { ... });

データベース内のすべてのキーと値のペアを列挙します。

1 2 3
LevelDB.forEach(Buffer from, Object opt, Function func);

呼び出しパラメータ:

  • from:Buffer、列挙の最小キー値。このキー値は列挙中に含まれます。
  • opt: オブジェクト、列挙オプション、スキップ、制限、反転をサポート
  • func: 関数、列挙型コールバック関数

コールバック関数には 2 つのパラメータ (値、キー) があります。

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach("aaa", "bbb", function(value, key) { ... });

データベース内のすべてのキーと値のペアを列挙します。

1 2 3 4
LevelDB.forEach(Buffer from, Buffer to, Object opt, Function func);

呼び出しパラメータ:

  • from:Buffer、列挙の最小キー値。このキー値は列挙中に含まれます。
  • to:Buffer、列挙型の最大キー値。このキー値は列挙型には含まれません。
  • opt: オブジェクト、列挙オプション、スキップ、制限、反転をサポート
  • func: 関数、列挙型コールバック関数

コールバック関数には 2 つのパラメータ (値、キー) があります。

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach("aaa", "bbb", function(value, key) { ... });

begin

現在のデータベースでトランザクションを開始します

1
LevelDB LevelDB.begin();

返される結果:

  • LevelDB、開いているトランザクション オブジェクトを返します。

commit

現在のトランザクションを送信する

1
LevelDB.commit();

close

現在のデータベース接続またはトランザクションを閉じます。

1
LevelDB.close() async;

toString

オブジェクトの文字列表現を返します。通常、「[Native Object]」が返されます。オブジェクトは、独自の特性に従って再実装できます。

1
String LevelDB.toString();

返される結果:

  • String、オブジェクトの文字列表現を返します。

toJSON

オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。

1
Value LevelDB.toJSON(String key = "");

呼び出しパラメータ:

  • key: 文字列、使用されません

返される結果:

  • Value、シリアル化可能な JSON を含む値を返します