An open API service indexing awesome lists of open source software.

https://github.com/cap32/skeeler-mongoose

Mongoose plugin for Skeeler
https://github.com/cap32/skeeler-mongoose

Last synced: about 1 month ago
JSON representation

Mongoose plugin for Skeeler

Awesome Lists containing this project

README

          

# skeeler-mongoose

[![Build Status](https://travis-ci.org/Cap32/skeeler-mongoose.svg?branch=master)](https://travis-ci.org/Cap32/skeeler-mongoose)
[![Coverage Status](https://coveralls.io/repos/github/Cap32/skeeler-mongoose/badge.svg?branch=master)](https://coveralls.io/github/Cap32/skeeler-mongoose?branch=master)

Mongoose plugin for [Skeeler](https://github.com/Cap32/skeeler)

## Table of Contents

* [Simple Example](#simple-example)
* [Equals native mongoose Schema](#equals-native-mongoose-schema)
* [Keywords](#keywords)
* [Related projects](#related-projects)
* [License](#license)

## Simple Example

```js
import Skeeler from 'skeeler';
import SkeelerMongoose from 'skeeler-mongoose';

const types = Skeeler.use('mongoose', new SkeelerMongoose()).getTypes();

const mySkeeler = new Skeeler({
foo: types.string.required.unique,
bar: types.number.index,
baz: types.objectId.required,
qux: types.array(types.string),
quux: types.object({
corge: types.mixed,
}),
});

export default mySkeeler.export('mongoose', { timestamps: true });
```

##### Equals native mongoose Schema

```js
const { Schema } = Mongoose;
export default new Schema(
{
foo: {
type: String,
required: true,
unique: true,
},
bar: {
type: Number,
index: true,
},
baz: {
type: Schema.Types.ObjectId,
required: true,
},
qux: [
{
type: String,
},
],
quux: {
type: new Schema({
corge: Schema.Types.Mixed,
}),
},
},
{
timestamps: true,
},
);
```

## Keywords

Please checkout [keywords.js](/src/keywords.js)

## Related projects

* [skeeler](https://github.com/Cap32/skeeler)
* [skeeler-json-schema-draft-6](https://github.com/Cap32/skeeler-json-schema-draft-6)

## License

MIT