An ORM for embedded keystores in Node.js, providing a consistent API for developing with LevelDB and deploying with Riak. Version 2.8.4 is stable but development has largely halted; last updated in 2017. Notable features include models, indexes, foreign keys, derived fields, validation, and pagination. Unlike traditional SQL ORMs, Dulcimer is designed for key-value stores with limited querying capabilities. Backends: LevelDB (default) and Riak; Redis support was planned but never completed.
npm install dulcimerNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Initialize a LevelDB store, define a Person model with a derived field, create and save an instance, then retrieve all records.
Call dulcimer.connect() immediately after require.
Specify keyType: 'number' in model options or ensure keys are strings.
Replace offset with continuation parameter in query options.
Use {depth: 1} option in queries or manually call the foreign key getter.Always specify a limit and use continuation for pagination.
Install riak-js@0.9.x explicitly.
Use const dulcimer = require('dulcimer'); after npm install dulcimer.Add {name: 'modelname'} as second parameter to new dulcimer.Model().Call dulcimer.connect() immediately after requiring the module.
Ensure the object is saved first and the key matches exactly (case-sensitive).