Obxecto obxecto incorporado

ObjectLevelDB

evelDB é un obxecto de operación de base de datos integrado de fibjs, que se usa para crear e xestionar obxectos de dicionario en forma de pares clave-valor. Usando obxectos LevelDB, pode implementar facilmente o almacenamento de datos de pares clave-valor, consulta, eliminación, enumeración e outras operacións. Impléntanse baseándose no LevelDB de código aberto de Google e ten as vantaxes de eficiencia, fiabilidade e escalabilidade.

Crear un obxecto LevelDB é moi sinxelo, só tes que pasardb.openLevelDBO método crea un obxecto de base de datos cun nome especificado. Por exemplo:

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

en,dbé o obxecto de operación da base de datos de fibjs, o método openLevelDB úsase para abrir a base de datos leveldb, test.db é o nome da base de datos e a función devolvetestO obxecto é o obxecto que opera a base de datos.

As principais operacións soportadas polos obxectos LevelDB inclúen:

  • set(key, value): establece os datos dun valor clave. Se o valor da clave non existe, insire novos datos.
  • get(key): Consulta o valor do valor da chave especificado.
  • has(key): determina se existe o valor de chave especificado.
  • remove(key): elimina todos os valores do valor da chave especificado.
  • forEach(func): enumera todos os pares clave-valor na base de datos.
  • between(from, to, func): Enumere pares clave-valor na base de datos con valores clave entre de e ata.
  • toJSON(clave): Devolve a representación en formato JSON do obxecto, devolvendo xeralmente un conxunto de atributos lexibles definidos polo obxecto.
  • begin(): inicia unha transacción na base de datos actual.
  • commit(): envía a transacción actual.
  • close(): pecha a conexión ou transacción de base de datos actual.

Por exemplo:

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();

Os anteriores son o uso básico e exemplos de obxectos LevelDB, que poden operar de forma cómoda e flexible os datos de pares clave-valor. En aplicacións prácticas, pódese usar en almacenamento, almacenamento en caché, rexistro e outros escenarios para mellorar a eficiencia da lectura e escritura de datos, simplificar a lóxica do programa, reducir a complexidade do desenvolvemento, etc.

relación de herdanza

función de membro

has

Comprobe se na base de datos existen datos co valor de clave especificado

1
Boolean LevelDB.has(Buffer key) async;

Parámetros de chamada:

  • key:Buffer, especifique o valor da clave que se vai comprobar

Resultados de devolución:

  • Boolean, devolve se o valor da chave existe

get

Consulta o valor do valor da chave especificado

1
Buffer LevelDB.get(Buffer key) async;

Parámetros de chamada:

  • key:Buffer, especifique o valor da clave que se vai consultar

Resultados de devolución:

  • Buffer, devolve o valor correspondente ao valor da chave, se non existe, devolve nulo

mget

Consulta o valor dun conxunto de valores clave especificados

1
NArray LevelDB.mget(Array keys);

Parámetros de chamada:

  • keys: Matriz, especifica a matriz de valores clave que se vai consultar

Resultados de devolución:

  • NArray, devolve unha matriz que contén valores clave

set

Establece un dato de valor clave. Se o valor de clave non existe, insire novos datos.

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

Parámetros de chamada:

  • key:Buffer, especifique o valor da clave que se quere establecer
  • value:Buffer, especifique os datos a configurar

mset

Establece un conxunto de datos do valor da clave. Se o valor da clave non existe, insire novos datos.

1
LevelDB.mset(Object map);

Parámetros de chamada:

  • map: Obxecto, especifica o dicionario de datos clave-valor que se vai definir

mremove

Eliminar un conxunto de valores para unha clave especificada

1
LevelDB.mremove(Array keys);

Parámetros de chamada:

  • keys: Matriz, especifica a matriz de valores clave que se vai eliminar

remove

Elimina todos os valores da clave especificada

1
LevelDB.remove(Buffer key) async;

Parámetros de chamada:

  • key:Buffer, especifique o valor da clave que se quere eliminar

firstKey

Consulta a clave máis pequena

1
Buffer LevelDB.firstKey() async;

Resultados de devolución:

  • Buffer, devolve a clave máis pequena

lastKey

Consulta a clave máis grande

1
Buffer LevelDB.lastKey() async;

Resultados de devolución:

  • Buffer, devolve a clave máis grande

forEach

Enumere todos os pares clave-valor na base de datos

1
LevelDB.forEach(Function func);

Parámetros de chamada:

  • func: Función, función de devolución de chamada de enumeración

A función de devolución de chamada ten dous parámetros, (valor, clave)

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

Enumere todos os pares clave-valor na base de datos

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

Parámetros de chamada:

  • from:Buffer, o valor de clave mínimo da enumeración, este valor clave inclúese durante a enumeración
  • func: Función, función de devolución de chamada de enumeración

A función de devolución de chamada ten dous parámetros, (valor, clave)

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

Enumere todos os pares clave-valor na base de datos

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

Parámetros de chamada:

  • from:Buffer, o valor de clave mínimo da enumeración, este valor clave inclúese durante a enumeración
  • to:Buffer, o valor máximo da clave da enumeración, este valor clave non está incluído na enumeración
  • func: Función, función de devolución de chamada de enumeración

A función de devolución de chamada ten dous parámetros, (valor, clave)

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

Enumere todos os pares clave-valor na base de datos

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

Parámetros de chamada:

  • opt: Obxecto, opcións de enumeración, admite omitir, limitar, invertir
  • func: Función, función de devolución de chamada de enumeración

A función de devolución de chamada ten dous parámetros, (valor, clave)

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

Enumere todos os pares clave-valor na base de datos

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

Parámetros de chamada:

  • from:Buffer, o valor de clave mínimo da enumeración, este valor clave inclúese durante a enumeración
  • opt: Obxecto, opcións de enumeración, admite omitir, limitar, invertir
  • func: Función, función de devolución de chamada de enumeración

A función de devolución de chamada ten dous parámetros, (valor, clave)

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

Enumere todos os pares clave-valor na base de datos

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

Parámetros de chamada:

  • from:Buffer, o valor de clave mínimo da enumeración, este valor clave inclúese durante a enumeración
  • to:Buffer, o valor máximo da clave da enumeración, este valor clave non está incluído na enumeración
  • opt: Obxecto, opcións de enumeración, admite omitir, limitar, invertir
  • func: Función, función de devolución de chamada de enumeración

A función de devolución de chamada ten dous parámetros, (valor, clave)

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

Iniciar unha transacción na base de datos actual

1
LevelDB LevelDB.begin();

Resultados de devolución:

  • LevelDB, devolve un obxecto de transacción aberta

commit

Enviar transacción actual

1
LevelDB.commit();

close

Pecha a conexión ou transacción de base de datos actual

1
LevelDB.close() async;

toString

Devolve a representación en cadea do obxecto. Polo xeral, devólvese "[Obxecto nativo]". O obxecto pódese volver implementar segundo as súas propias características.

1
String LevelDB.toString();

Resultados de devolución:

  • String, devolve a representación en cadea do obxecto

toJSON

Devolve unha representación en formato JSON do obxecto, devolvendo xeralmente unha colección de propiedades lexibles definidas polo obxecto.

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

Parámetros de chamada:

  • key: Cadena, non usada

Resultados de devolución:

  • Value, devolve un valor que contén JSON serializable