README
@minni-im/tape-recorder
a tiny couchdb orm on top of nano
why?
nano
is already great. But it could be better with Documents and Models classes.
Install
$ npm install --save @minni-im/tape-recorder
Usage
Discovery usage
import recorder from "@minni-im/tape-recorder";
// Load models from a folder
await recorder.loadModels("./models");
await recorder.connect("http://localhost:5984/<dbname>");
Definition usage
import recorder, { Schema } from "@minni-im/tape-recorder";
const UserSchema = new Schema({
firstName: String,
lastName: String,
});
recorder.registerModel("User", UserSchema);
await recorder.connect("http://localhost:5984/<dbname>");
CRUD usage
import recorder from "@minni-im/tape-recorder";
// Create
const User = recorder.get("User");
const user = new User({
firstName: "John",
lastName: "Doe",
});
await user.save();
// Update
user.firstName = "Jane";
await user.save();
// Delete
await user.delete();
// Read
const users = await User.findAll();
const user = await User.findById(userId);