{"_id":"nlevel","_rev":"43-7ed1d1f26e98f950f0f0719897c79991","name":"nlevel","description":"node.js odm for leveldb/levelup","dist-tags":{"latest":"1.0.4"},"versions":{"0.1.0-alpha":{"name":"nlevel","description":"node.js odm for leveldb","version":"0.1.0-alpha","author":{"name":"Oleg Korobenko","email":"oleg.korobenko@gmail.com"},"repository":{"type":"git","url":"git://github.com/okv/nlevel"},"keywords":["leveldb","level","store","storage","db","database","in-process","sqlight"],"scripts":{"test":"mocha test --reporter spec --bail --async-only"},"dependencies":{},"devDependencies":{"mocha":"1.11.0","expect.js":"0.2.0","level":"0.17.0-1"},"main":"./lib/index","_id":"nlevel@0.1.0-alpha","dist":{"shasum":"490614b2bc757dffd8e71fe1be56cc8e459d51b6","tarball":"https://registry.npmjs.org/nlevel/-/nlevel-0.1.0-alpha.tgz","integrity":"sha512-K5vVdBHAalyozNq7RlVhKUR8f7LMF9p9pqATqSB58f5xxja7j9f6q3vcZdngjQ8FGvksqoGTgqTl4iALqtNTuA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYg1M/Fmj6/5bBX1DIqi6ffHdQROrL0KIJKpVC3R9F/gIhALVAfzTQs1eXzjkfwz89xMJdL06JSHfLZI9mMgnA2/Sb"}]},"_npmVersion":"1.1.59","_npmUser":{"name":"okv","email":"oleg.poligon@gmail.com"},"maintainers":[{"name":"okv","email":"oleg.poligon@gmail.com"}],"directories":{}},"0.1.0-beta":{"name":"nlevel","description":"node.js odm for leveldb","version":"0.1.0-beta","author":{"name":"Oleg Korobenko","email":"oleg.korobenko@gmail.com"},"repository":{"type":"git","url":"git://github.com/okv/nlevel"},"keywords":["leveldb","level","store","storage","db","database","in-process","sqlight"],"scripts":{"test":"mocha test --reporter spec --bail --async-only","benchmark":"mocha benchmark/*.bench.js --reporter spec --bail --async-only --slow 1 --timeout 30000","mkapidoc":"dox --api < lib/index.js | sed -e 's/##/###/g'"},"dependencies":{"level":"0.17.0-1"},"devDependencies":{"mocha":"1.11.0","expect.js":"0.2.0","dox":"0.4.4"},"main":"./lib/index","_id":"nlevel@0.1.0-beta","dist":{"shasum":"09abdca1eacf313278c65196915554880f1419d6","tarball":"https://registry.npmjs.org/nlevel/-/nlevel-0.1.0-beta.tgz","integrity":"sha512-0A6XbHY1WzJzEJtxcQZXi8+9NSgQnBVPN1wFQyUpsuo5stoYCrJ88JfdTXL9wDBdVfFZQYojRowUTJCmf4VJlA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCDYHn/Yq95DaEAmybOslX/+UBJ+GHMn8ENobR8KIBUggIgYSuH2nWVNa1+78e5lf45gh+MHHfS9NldnkU4lDVrL5I="}]},"_npmVersion":"1.1.66","_npmUser":{"name":"okv","email":"oleg.poligon@gmail.com"},"maintainers":[{"name":"okv","email":"oleg.poligon@gmail.com"}]},"0.1.0":{"name":"nlevel","description":"node.js odm for leveldb","version":"0.1.0","author":{"name":"Oleg Korobenko","email":"oleg.korobenko@gmail.com"},"repository":{"type":"git","url":"git://github.com/okv/nlevel"},"keywords":["leveldb","level","store","storage","db","database","in-process","sqlight"],"scripts":{"test":"mocha test --reporter spec --bail --async-only","benchmark":"mocha benchmark/*.bench.js --reporter spec --bail --async-only --slow 1 --timeout 30000","mkapidoc":"dox --api < lib/index.js | sed -e 's/##/###/g'"},"dependencies":{"level":"0.18.0"},"devDependencies":{"mocha":"1.11.0","expect.js":"0.2.0","dox":"0.4.4"},"main":"./lib/index","_id":"nlevel@0.1.0","dist":{"shasum":"6674c54b5f64b36a1091f5df340673e92474021e","tarball":"https://registry.npmjs.org/nlevel/-/nlevel-0.1.0.tgz","integrity":"sha512-Yifj6TsER2Dm+BczZJAqcNdENvLT1fg9BrZZpAx+3AFb3OTtB/nCiHw+BEkbX+knEcHAChsb9M3GkOVf9RI8Ww==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHr6yPTD1bPaXvXDUdoqWO2xVh2Y2ldH+NWOdinKADcJAiEAmgrCv6dppoELgY2kb7Sai72XVPR3FXgAjJDzBhp2rU8="}]},"_npmVersion":"1.1.66","_npmUser":{"name":"okv","email":"oleg.poligon@gmail.com"},"maintainers":[{"name":"okv","email":"oleg.poligon@gmail.com"}]},"0.1.2":{"name":"nlevel","description":"node.js odm for leveldb","version":"0.1.2","author":{"name":"Oleg Korobenko","email":"oleg.korobenko@gmail.com"},"repository":{"type":"git","url":"git://github.com/okv/nlevel"},"keywords":["leveldb","level","store","storage","db","database","in-process","sqlight"],"scripts":{"test":"mocha test --reporter spec --bail --async-only","benchmark":"mocha benchmark/*.bench.js --reporter spec --bail --async-only --slow 1 --timeout 30000","mkapidoc":"dox --api < lib/index.js | sed -e 's/##/###/g'"},"dependencies":{"level":"0.18.0"},"devDependencies":{"mocha":"1.11.0","expect.js":"0.2.0","dox":"0.4.4"},"main":"./lib/index","bugs":{"url":"https://github.com/okv/nlevel/issues"},"homepage":"https://github.com/okv/nlevel","_id":"nlevel@0.1.2","dist":{"shasum":"b62936d088e38b30873fd8dcf663ff82cad6369c","tarball":"https://registry.npmjs.org/nlevel/-/nlevel-0.1.2.tgz","integrity":"sha512-SvUte68PFUqnKu23i8Nago217QZQaFqR59tPTn2MedjmZQbF59xngoLQ0IbGITETmra2fTRLV0FgRg/s6lRXHg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNdqnkyjajz8Gad/w2OLCpYYWF/M2VfykLOZ5ROH5GkAIhAKej5NenlS/wWKe74pQPuucH44Yx05CxuQL7HeLPcg/D"}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"okv","email":"oleg.poligon@gmail.com"},"maintainers":[{"name":"okv","email":"oleg.poligon@gmail.com"}]},"0.2.0":{"name":"nlevel","description":"node.js odm for leveldb","version":"0.2.0","author":{"name":"Oleg Korobenko","email":"oleg.korobenko@gmail.com"},"repository":{"type":"git","url":"git://github.com/okv/nlevel"},"keywords":["leveldb","level","store","storage","db","database","in-process","sqlight"],"scripts":{"test":"mocha test --reporter spec --bail --async-only","benchmark":"mocha benchmark/*.bench.js --reporter spec --bail --async-only --slow 1 --timeout 30000","doc":"dox --api < lib/index.js | sed -e 's/##/###/g'"},"dependencies":{"level":"0.18.0"},"devDependencies":{"mocha":"1.11.0","expect.js":"0.2.0","dox":"0.4.4"},"main":"./lib/index","bugs":{"url":"https://github.com/okv/nlevel/issues"},"homepage":"https://github.com/okv/nlevel","_id":"nlevel@0.2.0","dist":{"shasum":"e84de62860627b11491c89900cd8df199256ffe4","tarball":"https://registry.npmjs.org/nlevel/-/nlevel-0.2.0.tgz","integrity":"sha512-482pPUu1NA3RANJM1ZuVuWZ+x1Ygc73Fzr7Dz7m4qD7SogUg8mdh9C0xlcebUV9rwppqWcfX3HinFrWXKr+zLw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTrUatz0G7R4YLGxo+9fnCGgdXOaPK2mqAlGFdVPv1uAiBu/wkQshNZhXhC4CX2dWUHGtyMuJQs3pSSqfa+V8AwvQ=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"okv","email":"oleg.poligon@gmail.com"},"maintainers":[{"name":"okv","email":"oleg.poligon@gmail.com"}]},"1.0.0":{"name":"nlevel","description":"node.js odm for leveldb/levelup","version":"1.0.0","author":{"name":"Oleg Korobenko","email":"oleg.korobenko@gmail.com"},"repository":{"type":"git","url":"git://github.com/okv/nlevel"},"keywords":["leveldb","levelup","level","store","storage","db","database","in-process","sqlight"],"scripts":{"test":"mocha test --reporter spec --bail --async-only","benchmark":"mocha benchmark/*.bench.js --reporter spec --bail --async-only --slow 1 --timeout 30000","doc":"dox --api < lib/index.js | sed -e 's/##/###/g'"},"dependencies":{"levelup":">= 0.9.0"},"devDependencies":{"mocha":"1.11.0","expect.js":"0.2.0","dox":"0.4.4","memdown":"1.0.0"},"main":"./lib/index","gitHead":"91974fd44c59188c13a5a07ecbffc70d95d0b530","bugs":{"url":"https://github.com/okv/nlevel/issues"},"homepage":"https://github.com/okv/nlevel","_id":"nlevel@1.0.0","_shasum":"1b87e690c0425e6dcdd1251b08f01d523c8d50fa","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"okv","email":"oleg.poligon@gmail.com"},"maintainers":[{"name":"okv","email":"oleg.poligon@gmail.com"}],"dist":{"shasum":"1b87e690c0425e6dcdd1251b08f01d523c8d50fa","tarball":"https://registry.npmjs.org/nlevel/-/nlevel-1.0.0.tgz","integrity":"sha512-zOrPa2kQ0bm89GI6Spi00fkPQ4n3dRmP3g6OFl/ZlgEB9sN+d8yHbkLlGimNi1GOPBnBr7oHjJs+si/4GXjE+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaEI2dtYiSXngwqRoVO28xV67N8L/wvaHG312xFUPZ2wIhAITFzsW2BCv/1qIwrNjnIzKI/nrAvab9KnQ2WWnNGUfk"}]}},"1.0.1":{"name":"nlevel","description":"node.js odm for leveldb/levelup","version":"1.0.1","author":{"name":"Oleg Korobenko","email":"oleg.korobenko@gmail.com"},"repository":{"type":"git","url":"git://github.com/okv/nlevel"},"keywords":["leveldb","levelup","level","store","storage","db","database","in-process","sqlight"],"scripts":{"test":"mocha test --reporter spec --bail --async-only","benchmark":"mocha benchmark/*.bench.js --reporter spec --bail --async-only --slow 1 --timeout 30000","doc":"dox --api < lib/index.js | sed -e 's/##/###/g'"},"dependencies":{"levelup":">= 0.9.0"},"devDependencies":{"mocha":"1.11.0","expect.js":"0.2.0","dox":"0.4.4","memdown":"1.0.0"},"main":"./lib/index","gitHead":"de71c16d209912fdc8025dfe9deb8698da565eae","bugs":{"url":"https://github.com/okv/nlevel/issues"},"homepage":"https://github.com/okv/nlevel","_id":"nlevel@1.0.1","_shasum":"d0f81ae59e6104c6be0a3097157836c7eaf95f5d","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"okv","email":"oleg.poligon@gmail.com"},"maintainers":[{"name":"okv","email":"oleg.poligon@gmail.com"}],"dist":{"shasum":"d0f81ae59e6104c6be0a3097157836c7eaf95f5d","tarball":"https://registry.npmjs.org/nlevel/-/nlevel-1.0.1.tgz","integrity":"sha512-uDWwouBZfe/rkgZZx98yE0xVL13tl9xJMKwKzigqZJnGTGrK+D5jxqxkgWgcYvPQRB2HMdHIIT7e8gHHlmbTSw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB1kryXYKDdC3kX+bVqLK4zPfT6IBd3XCao3UANyzf8SAiEAj7d8tBQX1vb1CTutE+GofSSi/3juDOkJaWFzS6f6aFg="}]}},"1.0.2":{"name":"nlevel","description":"node.js odm for leveldb/levelup","version":"1.0.2","author":{"name":"Oleg Korobenko","email":"oleg.korobenko@gmail.com"},"repository":{"type":"git","url":"git://github.com/okv/nlevel"},"keywords":["leveldb","levelup","level","store","storage","db","database","in-process","sqlight"],"scripts":{"test":"mocha test --reporter spec --bail --async-only","benchmark":"mocha benchmark/*.bench.js --reporter spec --bail --async-only --slow 1 --timeout 30000","doc":"dox --api < lib/index.js | sed -e 's/##/###/g'"},"dependencies":{"levelup":">= 0.9.0"},"devDependencies":{"mocha":"1.11.0","expect.js":"0.2.0","dox":"0.4.4","memdown":"1.0.0"},"main":"./lib/index","gitHead":"dfc455a4b918571179c57beae10759d529502b89","bugs":{"url":"https://github.com/okv/nlevel/issues"},"homepage":"https://github.com/okv/nlevel","_id":"nlevel@1.0.2","_shasum":"c92aae5215f50677248fc8984e9b48c4f154ed45","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"okv","email":"oleg.poligon@gmail.com"},"maintainers":[{"name":"okv","email":"oleg.poligon@gmail.com"}],"dist":{"shasum":"c92aae5215f50677248fc8984e9b48c4f154ed45","tarball":"https://registry.npmjs.org/nlevel/-/nlevel-1.0.2.tgz","integrity":"sha512-61HHqTS/WyS81mKPpch1rXCXelbsoz0u9sQFe0kJge5Odb9xnJkXUHVehtWOYKUnWvIL0D9tndrfbg4iuKDbgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDLvrzpEl+ReOLA67fPAcyS4tHXIiQjFqM/yNr+tbZlxAiEA9Sv/oidtqllN8un4i8tq1IvQYYgva1z2gemgRnLfZR8="}]}},"1.0.3":{"name":"nlevel","description":"node.js odm for leveldb/levelup","version":"1.0.3","author":{"name":"Oleg Korobenko","email":"oleg.korobenko@gmail.com"},"repository":{"type":"git","url":"git://github.com/okv/nlevel"},"keywords":["leveldb","levelup","level","store","storage","db","database","in-process","sqlight"],"scripts":{"test":"mocha test --reporter spec --bail --async-only","benchmark":"mocha benchmark/*.bench.js --reporter spec --bail --async-only --slow 1 --timeout 30000","doc":"dox --api < lib/index.js | sed -e 's/##/###/g'"},"dependencies":{"levelup":">= 0.9.0"},"devDependencies":{"mocha":"1.11.0","expect.js":"0.2.0","dox":"0.4.4","memdown":"1.0.0"},"main":"./lib/index","gitHead":"2472250960c404415bda500fcac68684adbf4466","bugs":{"url":"https://github.com/okv/nlevel/issues"},"homepage":"https://github.com/okv/nlevel","_id":"nlevel@1.0.3","_shasum":"29388e768af63d054572576a00eefa208b7392d5","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"okv","email":"oleg.poligon@gmail.com"},"maintainers":[{"name":"okv","email":"oleg.poligon@gmail.com"}],"dist":{"shasum":"29388e768af63d054572576a00eefa208b7392d5","tarball":"https://registry.npmjs.org/nlevel/-/nlevel-1.0.3.tgz","integrity":"sha512-BMzvEM2QHKY2kPKlN//UbyDLG1dY3WM7greO/i4jTF170xSbCszBbqrhpNVunx1r4YIdwQZvKzkhJhf9LE9Jcg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGVQY8NYMUmJbvydK0Ta03vpQTyNpcVilge0KJUpdBFyAiBd0A5evr+zPslSFngN9wgITkZdg6GWfa3CpDR2XDfYsw=="}]}},"1.0.4":{"name":"nlevel","description":"node.js odm for leveldb/levelup","version":"1.0.4","author":{"name":"Oleg Korobenko","email":"oleg.korobenko@gmail.com"},"repository":{"type":"git","url":"git://github.com/okv/nlevel.git"},"keywords":["leveldb","levelup","level","store","storage","db","database","in-process","sqlight"],"scripts":{"test":"mocha test --reporter spec --bail --async-only","benchmark":"mocha benchmark/*.bench.js --reporter spec --bail --async-only --slow 1 --timeout 30000","doc":"dox --api < lib/index.js | sed -e 's/##/###/g'"},"dependencies":{"levelup":"1.3.9"},"devDependencies":{"mocha":"1.11.0","expect.js":"0.2.0","dox":"0.4.4","memdown":"1.0.0"},"main":"./lib/index","gitHead":"35bb228c69aa7c6584ceaba2fda5ca6cb53c7562","bugs":{"url":"https://github.com/okv/nlevel/issues"},"homepage":"https://github.com/okv/nlevel#readme","_id":"nlevel@1.0.4","_shasum":"cf584d11a99635238b52c3f9a266026e65eceb98","_from":".","_npmVersion":"2.15.11","_nodeVersion":"4.8.4","_npmUser":{"name":"okv","email":"oleg.korobenko@gmail.com"},"dist":{"shasum":"cf584d11a99635238b52c3f9a266026e65eceb98","tarball":"https://registry.npmjs.org/nlevel/-/nlevel-1.0.4.tgz","integrity":"sha512-wPYrVBULMOrQv2sueyKV1ZSx1ZA49x4T49wguWczQ3+VMlGRHibcDUhZdPqxuzaxoGSXZnXBYzqG8hidzOlubQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG3vPBkR/KE8sOig++HVrSZQ3JEI1ZaHf8MQsOoiVROkAiEA3wTW9qWj3tfYpovbtaXlo+lDxa9L73xsXKJWF2pJk5w="}]},"maintainers":[{"name":"okv","email":"oleg.poligon@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nlevel-1.0.4.tgz_1509115597318_0.10620594187639654"}}},"readme":"# nlevel\n\nnlevel - node.js odm for leveldb.\nIt is built on top of [levelup](https://github.com/rvagg/node-levelup).\nThe main ideas are to split db on sections (like collections in mongodb)\nand provide additional operations for this sections including manipulations\nwith set of objects.\n\n\n## Installation\n\n```\nnpm install nlevel\n```\n\n\n## Usage\n\n```js\n\nvar nlevel = require('nlevel');\n\n// create db\nvar ldb = nlevel.db('./mydb', {valueEncoding: 'json'});\n\n// store all sections in one object for convenience\nvar db = {};\n\n// create value section which associate name with arbitrary value\ndb.cities = new nlevel.ValSection(ldb, 'cities');\n\ndb.cities.put(['Elina', 'Dillon', 'Saundra', 'Harmony'], function(err) {\n\tdb.cities.get(function(err, cities) {\n\t\tif (err) throw err;\n\t\t// prints our array: [ 'Elina', 'Dillon', 'Saundra', 'Harmony' ]\n\t\tconsole.log(cities);\n\t});\n});\n\n\n// create documents section with projections (key order matters)\ndb.tasks = new nlevel.DocsSection(ldb, 'tasks', {\n\tprojections: [\n\t\t// projection 1\n\t\t{key: {project: 1, version: 1, assignee: 1, id: 1}},\n\t\t// projection 2\n\t\t{key: {assignee: 1, project: 1, version: 1, id: 1}}\n\t]\n});\n\n// put all tasks in a batch\ndb.tasks.put([{\n\tid: 1, project: 'proj 1', version: '1.0.0', assignee: 'bob', done: true\n}, {\n\tid: 2, project: 'proj 1', version: '1.0.0', assignee: 'jane', done: false\n}, {\n\tid: 3, project: 'proj 2', version: '2.0', assignee: 'bob', done: true\n}, {\n\tid: 4, project: 'proj 2', version: '2.0', assignee: 'jane', done: true\n}, {\n\tid: 5, project: 'proj 3', version: '0.1', assignee: 'sam', done: true\n}, {\n\tid: 6, project: 'proj 3', version: '0.2', assignee: 'sam', done: false\n}], function(err) {\n\tif (err) throw err;\n\n\t// NOTICE: in all calls key order matters\n\n\t// find task for selected assignee and project (it uses projection 2)\n\tdb.tasks.find({\n\t\tstart: {assignee: 'jane', project: 'proj 2'}\n\t}, function(err, tasks) {\n\t\tif (err) throw err;\n\t\t// prints [ 4 ]\n\t\tconsole.log(tasks.map(function(task) {return task.id;}));\n\t});\n\n\t// find tasks in specific project and version (it uses projection 1)\n\tdb.tasks.find({\n\t\tstart: {project: 'proj 1', version: '1.0.0'}\n\t}, function(err, tasks) {\n\t\tif (err) throw err;\n\t\t// prints [ 1, 2 ]\n\t\tconsole.log(tasks.map(function(task) {return task.id;}));\n\t});\n\n\t// get by full key (it uses projection 1)\n\tdb.tasks.get({\n\t\tproject: 'proj 1',\n\t\tversion: '1.0.0',\n\t\tassignee: 'bob',\n\t\tid: 1\n\t}, function(err, task) {\n\t\tif (err) throw err;\n\t\t// prints 1\n\t\tconsole.log(task.id);\n\t});\n});\n\n```\n\n\n## Sections api\n\n### ValSection()\n\n  Value section constructor accepts `db`, `name` and returns instance of section\n\n### ValSection.put(value:Any, [callback(err)]:Function)\n\n  Put value to section accepts\n\n### ValSection.get(callback(err,value):Function)\n\n  Get value from section\n\n### ValSection.del([callback(err)]:Function)\n\n  Delete value from section\n\n### DocsSection()\n\n  Documents section stores objects in different projections. Constructor\n  accepts `db`, `name` of section and `options`, `options.projections` is a\n  list of target projections in which documents will be stored.\n  Each projection defines `key` by which document will be accessible and\n  `value` which is the presentation of document for projection. `key` is an\n  object of field names and values for them. If value of key field is a\n  function object will be passed to it and it should return string key\n  otherwise value for this key from object will be get. If `value` is a\n  function it will accept object and should return new object which will be\n  stored for this projection. Any document should have an unique identifier - \n  `id` field. Projection keys stores in alphabetical order and you can easily\n  find documents (their presentations) between [start..end] (see `find` method\n  api). Each document will have one key for each projection because of that\n  you usually should put `id` field as last for projection. Field order at\n  `key` object (and at `find`) matters.\n\n### DocsSection.put(docs:Object|Object[], [callback(err)]:Function)\n\n  Put one or array of documents to the section\n\n### DocsSection.find(params:Object, [callback(err,docs)]:Function)\n\n  Find documents\n  \n  - `params.by` - id of projection to use, by default it detects projection\n  using condition (start, end)\n  - `params.start` - start key\n  - `params.end` - end key, by default it equals to `params.start` (with added\n  boundary symbol)\n  - `params.reverse` - a boolean, set to true if you want to go in reverse order\n  - `params.filter` - function(value) if it returns falsy value document will be\n  excluded from result\n  - `params.offset` - integer, skip selected documents count\n  - `params.limit` - limit count of documents in result\n  - `params.usingValues` - (false by default) optimization flag, which can be\n  set to force of using `values` for some operations which uses `keys` by default\n  (e.g. counting)\n\n### DocsSection.count(findParams:Object, [callback(err,documentsCount)]:Function)\n\n  Count documents using `findParams` (see `find`).\n  Notice: It counts keys (or values) internally (can take long time e.g. on\n  large dataset)\n\n### DocsSection.get(key:Object, [projectionId]:String, [callback(err,doc)]:Function)\n\n  Get document by full key\n\n### DocsSection.update(key:Object, modifier:Object|Function, [callback(err)]:Function)\n\n  Update document by `key` using `modifier` which could object of fields and\n  values to be updated or function which accepts document and returns modified\n  document\n\n### DocsSection.multiUpdate(findParams:Object, modifier:Object|Function, [callback(err,updatedCount)]:Function)\n\n  Find documents using `findParams` (see `find`) and update them using\n  `modifier` (see `modifier` description at `update`). Count of updated\n  documents will be passed to `callback` (it could be zero).\n  document\n\n### DocsSection.del(ids:String[]|Object[], [callback(err)]:Function)\n\n  Delete documents by array of their ids or array of objects with `id` field\n\n\n## Run tests\n\ninto cloned repository run\n\n```\nnpm test\n```\n","maintainers":[{"name":"okv","email":"oleg.poligon@gmail.com"}],"time":{"modified":"2022-06-21T10:39:29.716Z","created":"2013-10-19T21:10:28.086Z","0.1.0-alpha":"2013-10-19T21:10:30.496Z","0.1.0-beta":"2013-11-06T12:16:29.527Z","0.1.0":"2013-11-20T13:35:56.033Z","0.1.1":"2014-02-11T20:03:22.577Z","0.1.2":"2014-02-11T20:32:21.421Z","0.2.0":"2014-02-16T19:34:45.559Z","1.0.0":"2015-05-09T18:33:15.769Z","1.0.1":"2015-05-15T22:22:37.829Z","1.0.2":"2015-05-17T10:21:34.205Z","1.0.3":"2015-10-12T17:35:27.415Z","1.0.4":"2017-10-27T14:46:38.300Z"},"author":{"name":"Oleg Korobenko","email":"oleg.korobenko@gmail.com"},"repository":{"type":"git","url":"git://github.com/okv/nlevel.git"},"readmeFilename":"README.md","homepage":"https://github.com/okv/nlevel#readme","keywords":["leveldb","levelup","level","store","storage","db","database","in-process","sqlight"],"bugs":{"url":"https://github.com/okv/nlevel/issues"}}