Object-ingebouwd object

ObjectLevelDB

evelDB is een ingebouwd databasebewerkingsobject van fibjs, dat wordt gebruikt om woordenboekobjecten te maken en te beheren in de vorm van sleutelwaardeparen. Met behulp van LevelDB-objecten kunt u eenvoudig gegevensopslag, query's, verwijdering, opsomming en andere bewerkingen van sleutel-waardeparen implementeren. Het is geïmplementeerd op basis van Google's open source LevelDB en heeft de voordelen van efficiëntie, betrouwbaarheid en schaalbaarheid.

Het maken van een LevelDB-object is heel eenvoudig, u hoeft het alleen maar door te gevendb.openLevelDBMethode maakt een databaseobject met een opgegeven naam. Bijvoorbeeld:

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

in,dbis het databasebewerkingsobject van fibjs, de openLevelDB-methode wordt gebruikt om de leveldb-database te openen, test.db is de databasenaam en de functie retourneerttestHet object is het object dat de database beheert.

De belangrijkste bewerkingen die door LevelDB-objecten worden ondersteund, zijn onder meer:

  • set(key, value): Stel een sleutelwaardegegevens in. Als de sleutelwaarde niet bestaat, voegt u nieuwe gegevens in.
  • get(key): Vraag de waarde van de opgegeven sleutelwaarde op.
  • has(key): Bepaal of de opgegeven sleutelwaarde bestaat.
  • remove(key): Verwijder alle waarden van de opgegeven sleutelwaarde.
  • forEach(func): Inventariseer alle sleutel-waardeparen in de database.
  • between(from, to, func): Opsomming van sleutelwaardeparen in de database met sleutelwaarden tussen from en to.
  • toJSON(key): Retourneert de weergave in JSON-indeling van het object, waarbij doorgaans een reeks leesbare kenmerken wordt geretourneerd die door het object zijn gedefinieerd.
  • begin(): Start een transactie op de huidige database.
  • commit(): Dien de huidige transactie in.
  • close(): Sluit de huidige databaseverbinding of transactie.

Bijvoorbeeld:

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

Hierboven vindt u het basisgebruik en voorbeelden van LevelDB-objecten, die op gemakkelijke en flexibele wijze sleutel-waardepaargegevens kunnen gebruiken. In praktische toepassingen kan het worden gebruikt bij opslag, caching, loggen en andere scenario's om de efficiëntie van het lezen en schrijven van gegevens te verbeteren, de programmalogica te vereenvoudigen, de complexiteit van de ontwikkeling te verminderen, enz.

erfenis relatie

lid functie

has

Controleer of er gegevens met de opgegeven sleutelwaarde in de database voorkomen

1
Boolean LevelDB.has(Buffer key) async;

Oproepparameters:

  • key:Buffer, geef de sleutelwaarde op die moet worden gecontroleerd

Resultaten retourneren:

  • Boolean, geeft terug of de sleutelwaarde bestaat

get

Vraag de waarde van de opgegeven sleutelwaarde op

1
Buffer LevelDB.get(Buffer key) async;

Oproepparameters:

  • key:Buffer, geef de sleutelwaarde op die moet worden opgevraagd

Resultaten retourneren:

  • Buffer, retourneert de waarde die overeenkomt met de sleutelwaarde. Als deze niet bestaat, wordt null geretourneerd

mget

Query's uitvoeren op de waarde van een reeks opgegeven sleutelwaarden

1
NArray LevelDB.mget(Array keys);

Oproepparameters:

  • keys: Array, specificeert de sleutelwaardearray die moet worden opgevraagd

Resultaten retourneren:

  • NArray, retourneert een array met sleutelwaarden

set

Stel een sleutelwaardegegevens in. Als de sleutelwaarde niet bestaat, voegt u nieuwe gegevens in.

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

Oproepparameters:

  • key:Buffer, geef de sleutelwaarde op die moet worden ingesteld
  • value:Buffer, geef de gegevens op die moeten worden ingesteld

mset

Stel een set sleutelwaardegegevens in. Als de sleutelwaarde niet bestaat, voegt u nieuwe gegevens in.

1
LevelDB.mset(Object map);

Oproepparameters:

  • map: Object, specificeert de sleutel/waarde-datawoordenlijst die moet worden ingesteld

mremove

Verwijder een reeks waarden voor een opgegeven sleutel

1
LevelDB.mremove(Array keys);

Oproepparameters:

  • keys: Array, specificeert de sleutelwaardearray die moet worden verwijderd

remove

Verwijder alle waarden van de opgegeven sleutel

1
LevelDB.remove(Buffer key) async;

Oproepparameters:

  • key:Buffer, geef de sleutelwaarde op die moet worden verwijderd

firstKey

Vraag de kleinste sleutel op

1
Buffer LevelDB.firstKey() async;

Resultaten retourneren:

  • Buffer, retourneert de kleinste sleutel

lastKey

Vraag de grootste sleutel op

1
Buffer LevelDB.lastKey() async;

Resultaten retourneren:

  • Buffer, retourneert de grootste sleutel

forEach

Inventariseer alle sleutel-waardeparen in de database

1
LevelDB.forEach(Function func);

Oproepparameters:

  • func: Functie, opsommings-callback-functie

De callback-functie heeft twee parameters (waarde, sleutel)

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

Inventariseer alle sleutel-waardeparen in de database

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

Oproepparameters:

  • from:Buffer, de minimale sleutelwaarde van de opsomming, deze sleutelwaarde wordt meegenomen tijdens de opsomming
  • func: Functie, opsommings-callback-functie

De callback-functie heeft twee parameters (waarde, sleutel)

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

Inventariseer alle sleutel-waardeparen in de database

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

Oproepparameters:

  • from:Buffer, de minimale sleutelwaarde van de opsomming, deze sleutelwaarde wordt meegenomen tijdens de opsomming
  • to:Buffer, de maximale sleutelwaarde van de opsomming, deze sleutelwaarde wordt niet opgenomen in de opsomming
  • func: Functie, opsommings-callback-functie

De callback-functie heeft twee parameters (waarde, sleutel)

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

Inventariseer alle sleutel-waardeparen in de database

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

Oproepparameters:

  • opt: Object, opsommingsopties, ondersteunt overslaan, beperken, omkeren
  • func: Functie, opsommings-callback-functie

De callback-functie heeft twee parameters (waarde, sleutel)

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

Inventariseer alle sleutel-waardeparen in de database

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

Oproepparameters:

  • from:Buffer, de minimale sleutelwaarde van de opsomming, deze sleutelwaarde wordt meegenomen tijdens de opsomming
  • opt: Object, opsommingsopties, ondersteunt overslaan, beperken, omkeren
  • func: Functie, opsommings-callback-functie

De callback-functie heeft twee parameters (waarde, sleutel)

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

Inventariseer alle sleutel-waardeparen in de database

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

Oproepparameters:

  • from:Buffer, de minimale sleutelwaarde van de opsomming, deze sleutelwaarde wordt meegenomen tijdens de opsomming
  • to:Buffer, de maximale sleutelwaarde van de opsomming, deze sleutelwaarde wordt niet opgenomen in de opsomming
  • opt: Object, opsommingsopties, ondersteunt overslaan, beperken, omkeren
  • func: Functie, opsommings-callback-functie

De callback-functie heeft twee parameters (waarde, sleutel)

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

Start een transactie op de huidige database

1
LevelDB LevelDB.begin();

Resultaten retourneren:

  • LevelDB, retourneert een open transactieobject

commit

Huidige transactie indienen

1
LevelDB.commit();

close

Sluit de huidige databaseverbinding of transactie

1
LevelDB.close() async;

toString

Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.

1
String LevelDB.toString();

Resultaten retourneren:

  • String, retourneert de tekenreeksrepresentatie van het object

toJSON

Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.

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

Oproepparameters:

  • key: Tekenreeks, niet gebruikt

Resultaten retourneren:

  • Value, retourneert een waarde die JSON-serialiseerbaar bevat