1.3.0 • Published 9 years ago

db-js v1.3.0

Weekly downloads
4
License
MIT
Repository
github
Last release
9 years ago

DB.js

API

Methods acting on multiple records (as opposed to a single record, like #find) support method chaining and will only be lazily evaluated until #valueOf() is called.

Otherwise, to maintain consistency, call #valueOf() on #find.

// Initialize or fetch a collection.
// Collections inherit from EventEmitter, so all EventEmitter methods will work.
DB.collection('people');

// Configure the primary key
DB.collection('people').configure((options) => {
  options.pkey = 'id';
});

// Set the collection's data
let people = [
  { id: 1, name: "Kash", color: "red" },
  { id: 2, name: "Sanjna", color: "red" },
  { id: 3, name: "Saily", color: "purple" }
];
DB.collection('people').set(people);

// Find a record by primary key
// returns { id: 1 name: "Kash", color: "red" }
DB.collection('people').find(1).valueOf();

// Find a record by property value
// returns { id: 2, name: "Sanjna", color: "red" }
DB.collection('people').findBy({ name: "Sanjna" }).valueOf();

// Run a where-like query
// returns [
//   { id: 1, name: "Kash", color: "red" },
//   { id: 2, name: "Sanjna", color: "red" },
//   { id: 3, name: "Saily", color: "purple" }
// ]
DB.collection('people').where({ color: "red" }).valueOf();
// The #whereNot method is also available, where records that
// match the predicate are filtered out.

// Add a record. Will fail (and return undefined) if a record with
// the same primary key already exists.
DB.collection('people').add({ id: 1, name: "Saily", color: "purple" });
// The above will fail since a record with id 1 already exists.

// Update an already-persisted record or save it as a new record.
// This only overwrites the specified properties. Aliased as `#save()`
DB.collection('people').update({ id: 2, color: "yellow" });

// Remove a record
DB.collection('people').remove({ id: 2 });

// Remove a record by primary key
DB.collection('people').destroy(1);
DB.collection('people').destroy(3);

// Get all records
DB.collection('people').all().valueOf();

// Get the number of records
DB.collection('people').count().valueOf();
1.3.0

9 years ago

1.2.4

9 years ago

1.2.3

9 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.0

9 years ago