This is a really simple library meant to abstract away how the data is physically stored from (JS) code.
It's great for clusters, scalable web processes, and any application code that may get restarted frequently but still need to connect to some sort of persistent storage.
var passport = { id: "abcdef" };
var passports = new Store();
passports.connect(function () {
passports.set({ name: "Leander", age: 20 }, passport, function () {
passports.get({ name: "Leander" }, function (v) {
// v == passport
passports.del({ age: 20 }, function () {
// All passports for people age 20 deleted.
});
});
})
});To start using this module, simply do npm install memstorage.
var Store = require("memstorage");
var store = Store({ type: "memory" });var mongo = Store({
type: "mongo",
settings: {
host: "localhost",
port: 27017,
user: "someuser",
pass: "somepass",
db: "somedb",
collectionName: "somecollection"
}
});
var multi = Store({
type: "multi",
settings: {
store: [
{ type: "memory" },
{
type: "mongo",
settings: {
host: "localhost",
port: 27017,
user: "someuser",
pass: "somepass",
db: "somedb",
collectionName: "somecollection"
}
}
]
});More advanced usage can be found in the tests!
Make your own stores by implementing these four functions:
connect(cb(success))- Connects to the underlying memory storage engine and callscbwith whether it worked or failed.set(key, val, cb)- Sets the key to the given value and callscbwhen done.get(key, cb(result))- Grabs the key and returns an array of values that matches the key as the first parameter ofcb.del(key, cb)- Deletes anything that matches key and callscbwhen done.


