1.0.0-alpha.29 • Published 6 years ago
@raulingg/models v1.0.0-alpha.29
Laboratoria/models
This module is meant to be used with Node.js and expects the Node.js version of
the mongoose module as an argument. If you are
looking for schemas to be used in the front-end please check
Laboratoria/schemas.
Installation
npm install --save Laboratoria/modelsOr add it in your package.json and then npm install:
{
"dependencies": {
"models": "Laboratoria/models#v1.0.0-alpha.1"
}
}Usage
For more detailed information, please check the
official mongoose docs
Creating and saving a model:
const mongoose = require('mongoose');
const { Project } = require('models')(mongoose);
const project = new Project({
slug: 'cipher',
repo: 'Laboratoria/curricula-js',
path: 'projects/01-cipher',
// ...
});
project.save()
.then(console.log)
.catch(console.error);Finding models:
// Querying for all documents in collection
Project.find({}, (err, docs) => {
if (err) {
console.error(err);
}
// doc something with `docs`...
});
// Alternatively using a promise
Project.find({})
.then(console.log)
.catch(console.error);Using Model.validate as a Promise:
const mongoose = require('mongoose');
const { Project } = require('models')(mongoose);
const project = new Project({
slug: 'cipher',
repo: 'Laboratoria/curricula-js',
path: 'projects/01-cipher',
// ...
});
project.validate()
.then(() => {
// Validation succeeded ;-)
})
.catch((err) => {
// Validation failed :-(
});Using Model.validate with a callback:
const mongoose = require('mongoose');
const { Project } = require('models')(mongoose);
// Creating a new instance of a Model
const project = new Project({
slug: 'cipher',
repo: 'Laboratoria/curricula-js',
path: 'projects/01-cipher',
// ...
});
// Validating model instance
project.validate((err) => {
// ...
});Testing
Unit tests (and linter):
yarn testEnd-to-end tests:
yarn e2eModels
Application
Campuses
Cohorts
Endorsement
Graduates
GraduateProfileGraduateProfileEndorsementGraduateProfileProjectGraduateProfileLifeSkill(deprecated)
Organizations
Placement
Projects
Tags
Topics
TopicTopicUnitTopicUnitPartTopicProgress(TBD)
Users
UserUserActivityFeedEventAcademicProfileCommentEventAcademicProfileTagAssignedEventAcademicProfileTagRemovalEventReviewAnswerEvent
Schemas
See Laboratoria/schemas.
1.0.0-alpha.29
6 years ago