Objeto incorporado

Nivel de objetoDB

evelDB es un objeto de operación de base de datos integrado de fibjs, que se utiliza para crear y administrar objetos de diccionario en forma de pares clave-valor. Con los objetos LevelDB, puede implementar fácilmente el almacenamiento, consulta, eliminación, enumeración y otras operaciones de datos de pares clave-valor. Se implementa en base al código abierto LevelDB de Google y tiene las ventajas de eficiencia, confiabilidad y escalabilidad.

Crear un objeto LevelDB es muy simple, solo pasadb.openLevelDBEl método crea un objeto de base de datos con un nombre específico. Por ejemplo:

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

en,dbes el objeto de operación de la base de datos de fibjs, el método openLevelDB se utiliza para abrir la base de datos leveldb, test.db es el nombre de la base de datos y la función devuelvetestEl objeto es el objeto que opera la base de datos.

Las principales operaciones admitidas por los objetos LevelDB incluyen:

  • set (clave, valor): establece los datos de un valor clave. Si el valor clave no existe, inserte nuevos datos.
  • get (clave): consulta el valor del valor clave especificado.
  • tiene (clave): determina si el valor de clave especificado existe.
  • eliminar (clave): elimina todos los valores del valor clave especificado.
  • forEach(func): enumera todos los pares clave-valor en la base de datos.
  • entre (de, a, func): enumera pares clave-valor en la base de datos con valores clave entre desde y hasta.
  • toJSON (clave): devuelve la representación en formato JSON del objeto y generalmente devuelve un conjunto de atributos legibles definidos por el objeto.
  • comenzar (): inicia una transacción en la base de datos actual.
  • commit(): envía la transacción actual.
  • close(): cierra la conexión o transacción de la base de datos actual.

Por ejemplo:

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

Los anteriores son el uso básico y ejemplos de los objetos LevelDB, que pueden operar de manera conveniente y flexible datos de pares clave-valor. En aplicaciones prácticas, se puede utilizar en almacenamiento, almacenamiento en caché, registro y otros escenarios para mejorar la eficiencia de lectura y escritura de datos, simplificar la lógica del programa, reducir la complejidad del desarrollo, etc.

relación de herencia

función miembro

has

Compruebe si existen datos con el valor clave especificado en la base de datos

1
Boolean LevelDB.has(Buffer key) async;

Parámetros de llamada:

  • key:Buffer, especifique el valor clave que se va a comprobar

Resultados de devolución:

  • Boolean, devuelve si el valor clave existe

get

Consultar el valor del valor clave especificado.

1
Buffer LevelDB.get(Buffer key) async;

Parámetros de llamada:

  • key:Buffer, especifique el valor clave que se consultará

Resultados de devolución:

  • Buffer, devuelve el valor correspondiente al valor clave, si no existe, devuelve nulo

mget

Consultar el valor de un conjunto de valores clave especificados

1
NArray LevelDB.mget(Array keys);

Parámetros de llamada:

  • keys: Matriz, especifica la matriz de valores clave que se consultará

Resultados de devolución:

  • NArray, devuelve una matriz que contiene valores clave

set

Establezca datos de valor clave. Si el valor clave no existe, inserte datos nuevos.

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

Parámetros de llamada:

  • key:Buffer, especifique el valor clave que se establecerá
  • value:Buffer, especifique los datos que se establecerán

mset

Establezca un conjunto de datos de valores clave. Si el valor clave no existe, inserte datos nuevos.

1
LevelDB.mset(Object map);

Parámetros de llamada:

  • map: Objeto, especifica el diccionario de datos clave-valor que se configurará

mremove

Eliminar un conjunto de valores para una clave específica

1
LevelDB.mremove(Array keys);

Parámetros de llamada:

  • keys: Matriz, especifica la matriz de valores clave que se eliminará

remove

Eliminar todos los valores de la clave especificada

1
LevelDB.remove(Buffer key) async;

Parámetros de llamada:

  • key:Buffer, especifique el valor clave que se eliminará

firstKey

Consultar la clave más pequeña.

1
Buffer LevelDB.firstKey() async;

Resultados de devolución:

  • Buffer, devuelve la clave más pequeña

lastKey

Consultar la clave más grande

1
Buffer LevelDB.lastKey() async;

Resultados de devolución:

  • Buffer, devuelve la clave más grande

forEach

Enumerar todos los pares clave-valor en la base de datos

1
LevelDB.forEach(Function func);

Parámetros de llamada:

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

La función de devolución de llamada tiene dos 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) { ... });

Enumerar todos los pares clave-valor en la base de datos

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

Parámetros de llamada:

  • from:Buffer, el valor clave mínimo de la enumeración, este valor clave se incluye durante la enumeración
  • func: Función, función de devolución de llamada de enumeración

La función de devolución de llamada tiene dos 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) { ... });

Enumerar todos los pares clave-valor en la base de datos

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

Parámetros de llamada:

  • from:Buffer, el valor clave mínimo de la enumeración, este valor clave se incluye durante la enumeración
  • to:Buffer, el valor clave máximo de la enumeración, este valor clave no está incluido en la enumeración
  • func: Función, función de devolución de llamada de enumeración

La función de devolución de llamada tiene dos 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) { ... });

Enumerar todos los pares clave-valor en la base de datos

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

Parámetros de llamada:

  • opt: Objeto, opciones de enumeración, admite omitir, limitar, revertir
  • func: Función, función de devolución de llamada de enumeración

La función de devolución de llamada tiene dos 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) { ... });

Enumerar todos los pares clave-valor en la base de datos

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

Parámetros de llamada:

  • from:Buffer, el valor clave mínimo de la enumeración, este valor clave se incluye durante la enumeración
  • opt: Objeto, opciones de enumeración, admite omitir, limitar, revertir
  • func: Función, función de devolución de llamada de enumeración

La función de devolución de llamada tiene dos 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) { ... });

Enumerar todos los pares clave-valor en la base de datos

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

Parámetros de llamada:

  • from:Buffer, el valor clave mínimo de la enumeración, este valor clave se incluye durante la enumeración
  • to:Buffer, el valor clave máximo de la enumeración, este valor clave no está incluido en la enumeración
  • opt: Objeto, opciones de enumeración, admite omitir, limitar, revertir
  • func: Función, función de devolución de llamada de enumeración

La función de devolución de llamada tiene dos 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 una transacción en la base de datos actual

1
LevelDB LevelDB.begin();

Resultados de devolución:

  • LevelDB, devuelve un objeto de transacción abierta

commit

Enviar transacción actual

1
LevelDB.commit();

close

Cerrar la conexión o transacción de base de datos actual

1
LevelDB.close() async;

toString

Devuelve la representación de cadena del objeto. Generalmente, se devuelve "[Objeto nativo]". El objeto se puede volver a implementar de acuerdo con sus propias características.

1
String LevelDB.toString();

Resultados de devolución:

  • String, devuelve la representación de cadena del objeto

toJSON

Devuelve una representación en formato JSON del objeto, que generalmente devuelve una colección de propiedades legibles definidas por el objeto.

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

Parámetros de llamada:

  • key: Cadena, no utilizada

Resultados de devolución:

  • Value, devuelve un valor que contiene JSON serializable