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
2var 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
13var 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
1Boolean 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.
1Buffer 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
1NArray 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
2LevelDB.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.
1LevelDB.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
1LevelDB.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
1LevelDB.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.
1Buffer LevelDB.firstKey() async;
Resultados de devolución:
- Buffer, devuelve la clave más pequeña
lastKey
Consultar la clave más grande
1Buffer 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
1LevelDB.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
6var 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
2LevelDB.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
6var 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
3LevelDB.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
6var 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
2LevelDB.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
6var 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
3LevelDB.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
6var 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
4LevelDB.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
6var 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
1LevelDB LevelDB.begin();
Resultados de devolución:
- LevelDB, devuelve un objeto de transacción abierta
commit
Enviar transacción actual
1LevelDB.commit();
close
Cerrar la conexión o transacción de base de datos actual
1LevelDB.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.
1String 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.
1Value LevelDB.toJSON(String key = "");
Parámetros de llamada:
- key: Cadena, no utilizada
Resultados de devolución:
- Value, devuelve un valor que contiene JSON serializable