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
- Host: GitHub
- URL: https://github.com/cap32/skeeler-mongoose
- Owner: Cap32
- License: mit
- Created: 2018-01-31T09:58:59.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-31T10:25:23.000Z (over 8 years ago)
- Last Synced: 2025-03-18T13:55:11.028Z (over 1 year ago)
- Language: JavaScript
- Size: 40 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# skeeler-mongoose
[](https://travis-ci.org/Cap32/skeeler-mongoose)
[](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