Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

monk-database-helper

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

monk-database-helper

A helper for working with mongo db using monk.

  • 0.1.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

Monk Database Helper

A helper for working with mongo db using monk.

This helper is designed to hide the complexity of simple CRUD operations on mongo collections. I opted to go with a schema model so the helper can track what properties need to be set with $set, and what identifier to use for an entity. (Usually _id, but there are reasons why you might want to use a different identifier)

Install

npm install monk-database-helper --save

Running locally

Get the source by cloning the repository:

$ git clone https://github.com/SamGraber/MonkDatabaseHelper

Navigate to the project folder and install the dependencies via:

$ npm install

The following script will build the typescript files and run the unit tests against them:

$ npm test

Usage

Typescript:

import { DatabaseService, ISchema } from 'monk-database-helper';

let schema: ISchema = {
	identifier: 'id',
	properties: ['prop1', 'prop2'],
};

let database = new DatabaseService<MyType>(monkDatabase.get('myCollection'), schema);

Javascript:

var DatabaseService = require('monk-database-helper').DatabaseService;

var schema = {
	identifier: 'id',
	properties: ['prop1', 'prop2'],
};

var database = new DatabaseService(monkDatabase.get('myCollection'), schema);
getList<TSearchModel>(searchModel?: TSearchModel): Promise<TDataType[]>

Make a simple find call and return the results as a promise. Search model is passed directly to the find function.

getDetail(id: any): Promise<TDataType>

Make a findOne call to get a specific entity. The helper uses the identifier field in the schema as the key for the search model.

Example:

helperInstance.schema = { identifier: 'id' };
helperInstance.getDetail(11);

// results in
findOne({ 'id': 11 })
update(model: TDataType): Promise<TDataType>

Makes an update call for the specified entity. The query is constructed the same as for a getDetail request. All properties listed in the schema will be updated with $set values in the update request.

Example:

helperInstance.schema = {
	identifier: 'id',
	properties: ['prop1', 'prop2'],
};

let model = {
	id: 11,
	prop1: 'value',
	prop2: 52,
}; 

helperInstance.update(model);

// results in
update({ 'id': 11 }, {
	'$set': { 'prop1': 'value' },
	'$set': { 'prop2': 52 },
};
create(model: TDataType): Promise<TDataType>

Makes an insert request to create a new model in the collection. The model is passed directly to the insert command.

Example:

let model = {
	id: 11,
	prop1: 'value',
	prop2: 52,
}; 

helperInstance.create(model);

// results in
insert({ 
	'prop1': 'value' },
	'prop2': 52 },
};

FAQs

Package last updated on 20 May 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc