Set database type for OrbitDB.
$ pnpm add @orbitdb/set-db
As Set
database is like a Feed
, but each value can only be present once. Works for primitive types as well as more complex objects.
A simple example with Set
:
import { createOrbitDB } from "@orbitdb/core";
import { registerSet } from "@orbitdb/set-db";
// Register set database type. IMPORTANT - must call before creating orbit instance !
registerSet();
const orbitdb = await createOrbitDB({ ipfs })
const db = await orbitdb.open({ type: "set" });
await db.add(1);
await db.add(2);
const all = await db.all(); // [1, 2]
await db.add(1);
await db.all() // Yay !! Still [1, 2]
As more complex example with object types:
import { createOrbitDB } from "@orbitdb/core";
import { registerSet } from "@orbitdb/set-db";
// Register set database type. IMPORTANT - must call before creating orbit instance !
registerSet();
const orbit = await createOrbitDB({ ipfs })
const db = await orbitdb.open({ type: "set" });
await db.add({a: 1});
await db.add({a: 2});
const all = await db.all(); // [{a: 1}, {a: 2}]
await db.add({a: 1});
await db.all() // Yay !! Still [{a: 1}, {a: 2}]