2.0.2 • Published 8 years ago

mongo-crud-layer v2.0.2

Weekly downloads
14
License
MIT
Repository
github
Last release
8 years ago

Mongo-CRUD-Layer

Build Status npm version Coverage Status

A simple CRUD-interface for the node-mongodb-native driver. Abstracts the creation, reading, updating and deleting of documents into more comfortable methods.

Latest added feature:

  • support for GridFS / GridStore

Installation

npm install mongo-crud-layer

or add it to your package.json.

Usage

1. Instantiation

First, create a new MongoCrud instance to store the databases URI and (optional) some options.

var mongocrud = new MongoCrud(uri, options, false);
  • uri - the URI to MongoDB, e.g. mongodb://localhost:27017/mongocrud-test
  • options - optional settings
  • gridFS - set to true, if objects exceed MongoDB document limit of 16mb, to store objects with GridFS mechanism
var MongoCrud = require('mongo-crud-layer');
var mongocrud = new MongoCrud(); 
// or 
var mongocrud = new MongoCrud('mongodb://localhost:27017/mongocrudtest');
// or
var mongocrud = new MongoCrud('mongodb://localhost:27017/mongocrudtest', {}, true);
...

2. API

The API offers the following methods:

create(obj, collection, callback)

Creates a MongoDB document from the given object and stores it into the given collection. Returns the _id of the stored document.

  • obj - the object to store
  • collection - the collection to store the object in
  • callback - a callback function with two parameters: error and the ObjectID of the stored object
var DB_URI = 'mongodb://localhost:27017/mongocrud-test';
var COLLECTION = 'objectStore';
var OBJ = {
    name: 'Athyrion'
};
var ID;
...
mongocrud.create(OBJ, COLLECTION, function(err, id) {
    console.log(id);
    ID = id;
});
...

read(criteria, collection, callback)

Searches the given collection for documents matching the given criteria and returns the found documents. The criterium should be in most cases using the _id from the creation process, e.g. criteria = {_id: _id}.

  • criteria - the criteria to search for in the database, usually the object's _id
  • collection - the collection to search in
  • callback - a callback function with two parameters: error and the found documents
...
mongocrud.read({ _id: ID }, COLLECTION, function(err, doc) {
    console.log(doc); // { _id: 55617c9226d7023b19edcdd1, name: "Athyrion" }
});
...

readAll(collection, callback)

Returns all documents stored in the given collection as an array. !!! Not available in GridFS mode !!!

  • collection - the collection to search in
  • callback - a callback function with two parameters: error and an array of objects from the collection
...
mongocrud.readAll(COLLECTION, function(err, docs) {
    console.log(docs); // [ { _id: 55617c9226d7023b19edcdd1, name: "Athyrion" }, ...]
});
...

update(criteria, obj, collection, callback)

Replaces the object in the given collection with given object. !!! Not available in GridFS mode !!!

  • criteria - the criteria to search for in the database, usually the object's _id
  • obj - the replacing object
  • collection - the collection to search in
  • callback - a callback function with two parameters: error and a mongodb result object
...

OBJ.name = 'Athyrion-Westeros';

mongocrud.update({ _id: ID }, OBJ, COLLECTION, function(err, res) {
    console.log(res); // { ok: 1, n: 1 }
});
...

delete(critera, collection, callback)

Deletes the document that matches the given criteria.

...
mongocrud.delete({ _id: ID }, COLLECTION, function(err, res) {
    console.log(res); // { ok: 1, n: 1 }
});
...

close(callback)

Closes the connection to the database.

  • callback - the callback function receiving null, if the closing was successful, otherwise a MongoError
...
mongocrud.close(function(result) {
    // handle error
});
2.0.2

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

9 years ago

0.1.0

9 years ago

0.0.4

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago