orbit-db-kastore v1.0.5
orbit-db-kastore
Key-Array database for orbit-db
A key-array database just like your favourite key-array database.
Used in ipfs-browser.
Table of Contents
Install
npm install orbit-db ipfs orbit-db-kastore
Usage
First, create an instance of OrbitDB:
const IPFS = require('ipfs')
const OrbitDB = require('orbit-db')
const KeyArrayStore = require('orbit-db-kastore')
const ipfs = new IPFS()
OrbitDB.addDatabaseType("keyarray", KeyArrayStore)
const orbitdb = await OrbitDB.createInstance(ipfs)
Get a key-array database and add one or multiple entry to it:
const options = Object.assign({ type: "keyarray" }, { create: true, disableDelete: false }) // yes you can disable delete command by setting this to true (it is optional and false by default)
const ka = await orbitdb.open('settings', options)
ka.add('volume', '100')
.then(() => {
console.log(ka.get('volume'))
// [100]
})
// Or:
ka.add('volume', ['100', '200'])
.then(() => {
console.log(ka.get('volume'))
// [100, 200]
})
Later, when the database contains data, load the history and query when ready:
const options = Object.assign({ type: "keyarray" }, {})
const ka = await orbitdb.open('settings', options)
ka.events.on('ready', () => {
console.log(ka.get('volume'))
// [100] or [100, 200]
})
API
orbitdb.open(name|address, Object.assign({ type: "keyarray" }, options))
Creates and opens a keyarray database
Returns a Promise
that resolves to a KeyArrayStore
instance.
const options = Object.assign({ type: "keyarray" }, { create: true })
const db = await orbitdb.open('application.settings', options)
// Or:
const db = await orbitdb.open(anotherkadb.address, options)
Module: orbit-db-kastore
append(key, value|values)
Returns a Promise
that resolves to a String
that is the multihash of the entry.
await db.append('hello', { name: 'World' })
// Or:
await db.append('hello', [{ name: 'World' }])
values(key)
Returns an Array
of Object
with the contents of the entry.
const values = db.values('hello')
// [{ name: 'World' }]
delete(key)
Deletes the Array
of Object
associated with key
. Returns a Promise
that resolves to a String
that is the multihash of the deleted entry.
const hash = await db.delete('hello')
// QmbYHhnXEdmdfUDzZKeEg7HyG2f8veaF2wBrYFcSHJ3mvd
all
Returns an Object
with the contents of all entries in the index.
const value = db.all
// { hello: [{ name: 'World' }] }
Contributing
If you think this could be better, please open an issue!
Please note that all interactions in orbit-db-kastore fall under our Code of Conduct.
License
MIT ©️ 2016-2018 Protocol Labs Inc., 2018 Haja Networks Oy