Встроенный объект объекта

ObjectLevelDB

evelDB — это встроенный объект операции с базой данных fibjs, который используется для создания и управления объектами словаря в форме пар ключ-значение. Используя объекты LevelDB, вы можете легко реализовать хранение данных пар ключ-значение, запросы, удаление, перечисление и другие операции. Он реализован на основе LevelDB с открытым исходным кодом Google и обладает преимуществами эффективности, надежности и масштабируемости.

Создать объект 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, возвращает значение, соответствующее значению ключа, если оно не существует, возвращает ноль

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: Функция, функция обратного вызова перечисления.

Функция обратного вызова имеет два параметра (значение, ключ).

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: Функция, функция обратного вызова перечисления.

Функция обратного вызова имеет два параметра (значение, ключ).

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: Функция, функция обратного вызова перечисления.

Функция обратного вызова имеет два параметра (значение, ключ).

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: Функция, функция обратного вызова перечисления.

Функция обратного вызова имеет два параметра (значение, ключ).

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: Функция, функция обратного вызова перечисления.

Функция обратного вызова имеет два параметра (значение, ключ).

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: Функция, функция обратного вызова перечисления.

Функция обратного вызова имеет два параметра (значение, ключ).

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